रियल, वर्चुअल, साझा और निजी मेमोरी में क्या अंतर है?


63

एक्टिविटी मॉनिटर के अलग-अलग कॉलम थोड़े भ्रमित करने वाले हैं


यह ध्यान देने योग्य हो सकता है कि यदि आप गतिविधि मॉनीटर में कॉलम के साथ तुलना में "निरीक्षण" पर क्लिक करते हैं तो 5 वीं प्रकार की मेमोरी है। विशेष रूप से, "वर्चुअल" मेमोरी के दो प्रकार हैं: "वर्चुअल मेमोरी साइज़" और "वर्चुअल प्राइवेट मेमोरी"। बाद वाला वह है जो गतिविधि मॉनिटर में "वर्चुअल मेम" कॉलम में दिखाया गया है।
ड्रफ्रोप्लास्पैट

जवाबों:


46

सर्वर दोष पर मेरे जवाब से लिया गया :

मैक ओएस एक्स मेमोरी शब्दजाल:

वायर्ड : यह कर्नेल कोड और ऐसे को संदर्भित करता है। मेमोरी जिसे कभी भी रैम से बाहर नहीं जाना चाहिए। निवासी मेमोरी के रूप में भी जाना जाता है।

साझा : स्मृति जो दो या अधिक प्रक्रियाओं के बीच साझा की जाती है। दोनों प्रक्रियाएं स्मृति की इस राशि को दर्शाती हैं, इसलिए यह थोड़ा भ्रामक हो सकता है कि वास्तव में कितनी स्मृति उपयोग में है।

Real : यह एक अनुप्रयोग के लिए "वास्तविक" मेमोरी उपयोग है जैसा कि task_info () द्वारा रिपोर्ट किया गया है - वर्तमान प्रक्रिया के भौतिक पृष्ठों की संख्या का एक मोटा गणना। (RSIZE)

निजी : यह वह मेमोरी है जो एक प्रक्रिया पूरी तरह से अपने आप उपयोग कर रही है जो कि रेजिडेंट मेमोरी में उपयोग की जाती है। (RPRVT)

वर्चुअल : इस प्रक्रिया में पता स्थान की कुल मात्रा जो किसी भी चीज़ के लिए मैप की जाती है - चाहे वह चर या किसी भी चीज़ के लिए एक बड़ी जगह हो - यह वास्तविक VM उपयोग के लिए समान नहीं है। (VSIZE)

सक्रिय : मेमोरी वर्तमान में सक्रिय के रूप में लेबल की गई है और रैम का उपयोग किया जाता है।

निष्क्रिय : "निष्क्रिय स्मृति का अब उपयोग नहीं किया जा रहा है और डिस्क पर कैश्ड हो गया है। यह रैम में रहेगा जब तक कि किसी अन्य को स्थान की आवश्यकता न हो। रैम में इस जानकारी को छोड़ना आपके लाभ के लिए है यदि आप (या आपके कंप्यूटर का क्लाइंट) वापस आते हैं। बाद में इसे करने के लिए। " - मैक ओएस एक्स मदद

Free : RAM की मात्रा वास्तव में बिना किसी डेटा के उपलब्ध है।


मुझे जो सबसे अच्छा प्रलेखन पता है (और फॉलोअप अनुसंधान में पाया गया है) उनकी डेवलपर वेबसाइट पर Apple का अपना प्रबंध मेमोरी लेख है।

अन्य सार्थक स्रोत: डार्विन-देव मेलिंग सूची: [ 1 ], [ ] और मैकओएसएक्स संकेत पर एक पुराना लेख । इसके अतिरिक्त माइक ऐश ने अपने ब्लॉग पर एक अच्छे व्यक्ति का परिचय प्रस्तुत किया है


5
Apple के मैनेजिंग मेमोरी डॉक को पढ़ने से, Inactive को डिस्क पर कैश नहीं किया गया है। आप इसे प्रदर्शित कर सकते हैं यदि आप अपनी निष्क्रिय स्मृति उपयोग (मेरा अभी 747.5 एमबी है) और आपके "स्वैप उपयोग" (मेरा अभी 0 बाइट्स है)। निष्क्रिय केवल उन मेमोरी पेजों को संदर्भित करता है जो हाल ही में किसी भी प्रक्रिया द्वारा पढ़े / लिखे नहीं गए हैं।
6

1
यह "वर्चुअल" को स्पष्ट करने के लायक हो सकता है क्योंकि गतिविधि मॉनिटर में "वर्चुअल" मेमोरी के दो संदर्भ हैं। "वर्चुअल मेम" कॉलम इंसपेक्ट प्रोसेस विंडो में " वर्चुअल प्राइवेट मेमोरी " को संदर्भित करता है , और फिर उस विंडो में " वर्चुअल मेमोरी साइज " प्रविष्टि का एक और सरल शीर्षक है (जिसे मैं वर्चुअल मेमोरी का साझा घटक मानता हूं )। यह 10.6.4 पर है (यदि एक्टिविटी मॉनीटर ने शब्दावली बदल दी है ...)
ड्रफ्रोप्लास्पैट

क्या "निजी मेमोरी" "वास्तविक मेमोरी" का हिस्सा है?
फ्रैंकलिन यू

6

वास्तविक मेम भौतिक मेमोरी (आपके कंप्यूटर में वास्तविक रैम मॉड्यूल) से संबंधित है। वर्चुअल मेम कितना "नकली" मेमोरी प्रक्रिया के लिए आवंटित किया जाता है, उस प्रक्रिया के लिए स्थायी भंडारण माध्यम (हार्ड ड्राइव, ठोस राज्य ड्राइव, आदि) पर आवंटित स्मृति का अर्थ है। साझा मेमोरी भौतिक (रियल) मेमोरी है जिसे अन्य प्रक्रियाओं के साथ साझा किया जा सकता है। निजी मेमोरी "वास्तविक" मेमोरी है जिसे केवल उस प्रक्रिया द्वारा उपयोग किया जा सकता है जिसे इसे आवंटित किया गया है।

ये स्पष्टीकरण मदद कर सकते हैं ... सीधे गतिविधि मॉनिटर से -> मदद -> सिस्टम मेमोरी का उपयोग देखने में:

स्मृति फलक के नीचे प्रदर्शित कुछ जानकारी की व्याख्या इस प्रकार है:

  • वायर्ड: वायर्ड मेमोरी में ऐसी जानकारी होती है जो हमेशा रैम में रहती है
  • सक्रिय: सक्रिय मेमोरी जिसमें जानकारी होती है जो सक्रिय रूप से उपयोग की जा रही है।
  • निष्क्रिय: निष्क्रिय स्मृति में ऐसी जानकारी होती है जो सक्रिय रूप से उपयोग नहीं की जा रही है। यदि आप (या आपके कंप्यूटर का कोई ग्राहक) बाद में रैम में इस जानकारी को छोड़ रहा है तो यह आपके लाभ के लिए है।
  • प्रयुक्त: प्रयुक्त मेमोरी का उपयोग एक प्रक्रिया या सिस्टम द्वारा किया जा रहा है। प्रयुक्त मेमोरी वायर्ड, सक्रिय और निष्क्रिय मेमोरी का योग है। यदि सिस्टम को मेमोरी की आवश्यकता होती है तो उपयोग की गई मेमोरी से पहले यह मुफ्त मेमोरी लेता है।
  • नि: शुल्क: मुफ्त मेमोरी का उपयोग नहीं किया जा रहा है और तुरंत उपलब्ध है।
  • वीएम आकार: वर्चुअल मेमोरी या वीएम, हार्ड डिस्क स्थान है जिसे मेमोरी के रूप में उपयोग किया जा सकता है। VM आकार डिस्क स्थान की मात्रा का उपयोग मेमोरी के रूप में किया जा रहा है। मैक ओएस एक्स आपके पास मौजूद भौतिक रैम की मात्रा से अधिक मेमोरी का उपयोग कर सकता है। एक हार्ड डिस्क रैम की तुलना में बहुत धीमी है, इसलिए वर्चुअल मेमोरी सिस्टम स्वचालित रूप से कुशल प्रदर्शन के लिए डिस्क स्थान और रैम के बीच जानकारी वितरित करता है। पृष्ठ इन्स / बहि: जानकारी मैक ओएस एक्स की गीगाबाइट की संख्या रैम और डिस्क स्थान के बीच स्थानांतरित हो गई है

6
यह सही नहीं है। वर्चुअल मेमोरी वह मेमोरी नहीं है जिसे डिस्क पर आवंटित किया जाता है (जिसे स्वैप कहा जाता है)। वर्चुअल मेमोरी वह है जिसमें एड्रेस स्पेस आवंटित है लेकिन भौतिक मेमोरी में नहीं है। यह एक ही बात की तरह लग सकता है, लेकिन यह अलग अलग है। कई मामलों में कार्यक्रम मेमोरी को बिना स्पर्श किए आवंटित करते हैं। उन मामलों में प्रोग्राम बहुत सारी वर्चुअल मेमोरी का उपयोग कर रहे हैं। एक ठोस उदाहरण देने के लिए, मेरा सिस्टम वर्तमान में 512MB स्वैप का उपयोग कर रहा है, लेकिन इसमें 196GB वर्चुअल मेमोरी आवंटित की गई है (जो कि K64 पर स्नो लेपर्ड चलाने वाले लोगों के लिए एक बहुत ही विशिष्ट राशि है)।
लुई गेरबार

2
@Louis, यदि वर्चुअल मेमोरी को आवंटित किया गया है, लेकिन रैम या हार्ड डिस्क का उपयोग नहीं करता है, तो यह कहां है?
माइकल अंडरवुड

4
@ मिचेल: कहीं नहीं। यह सैद्धांतिक है। सिर्फ इसलिए कि इसे आवंटित किया गया है और एक पते को सौंपा गया है, जरूरी नहीं कि इसका वास्तव में उपयोग किया जा रहा है। ओएस के निम्न स्तर के बिट्स पता करते हैं कि उन पते को रैम या स्वैप स्टोरेज में भौतिक स्थानों पर कब मैप करना है, लेकिन अगर उस पते पर जानकारी संग्रहीत नहीं की जा रही है तो उस स्थान को टाई करने की आवश्यकता नहीं है। इतना ही नहीं, लेकिन आप प्रत्येक प्रक्रिया के लिए उस कॉलम को नोटिस करेंगे, वर्चुअल मेम, वीएम साइज़ को जोड़ने के लिए कहीं भी नहीं आता है। प्रक्रियाएं वास्तव में सभी मेमोरी का उपयोग नहीं कर रही हैं।
रॉबर्ट एस सियाकियो

2
बहुत सारे वीएम हैं जो वास्तव में स्वैपेबल नहीं हैं। उदाहरण के लिए, यदि आप एक 4 जीबी फ़ाइल को एमएमएपी करते हैं, तो यह 4 जीबी वीएम लेता है, पढ़ने पर यह सीधे फ़ाइल से पृष्ठ पर आ जाएगा, और दबाव में इसे बाहर फेंक दिया जाएगा (स्वैप नहीं किया गया) क्योंकि मूल फ़ाइल को बस फिर से बनाया जा सकता है। वीएम और स्वैपिंग वास्तव में पूरी तरह से अलग चीजें हैं, वीएम का उपयोग केवल यह पता लगाने के लिए किया जाता है कि स्वैप करने के लिए क्या है।
लुई गेरबर्ग

3
VSIZE द्वारा मैं उस चीज़ का जिक्र कर रहा हूं जो गतिविधि मॉनिटर में सूचीबद्ध नहीं है, आप चाहें तो इसे शीर्ष में सूचीबद्ध देख सकते हैं। वर्चुअल मेमोरी कॉलम में कौन सी गतिविधि मॉनिटर सूची है, जिसे आमतौर पर VPRVT के रूप में संदर्भित किया जाता है, जो कि ऐप द्वारा उपयोग किए जाने वाले वर्चुअल पते की मात्रा है जो किसी अन्य ऐप के साथ साझा नहीं की जाती है।
लुई गेरबर्ग

4

Apple ने OSX 10.9 (Mavericks) में गतिविधि मॉनिटर को अपडेट किया। उनके पास इस बारे में एक अच्छा लेख है कि यहां सब कुछ का क्या मतलब है http://support.apple.com/kb/HT5890 । संक्षेप में...

यहाँ छवि विवरण दर्ज करें

  • भौतिक मेमोरी: रैम की मात्रा स्थापित की गई।
  • मेमोरी का उपयोग किया गया: रैम की मात्रा का उपयोग किया जा रहा है और अन्य ऐप्स के लिए तुरंत उपलब्ध नहीं है।
  • वर्चुअल मेमोरी: मेमोरी मैपिंग की मात्रा जो ऐप्स ने मांगी है। यह रैम संसाधनों की वास्तविक खपत नहीं है और यह आकार ऐप के लेखक द्वारा निर्धारित किया जाता है।
  • स्वेप का उपयोग किया गया : आपके ड्राइव पर मौजूद स्पेस का उपयोग रैम से अप्रयुक्त फाइलों को स्वैप करने के लिए किया जा रहा है। कुछ गतिविधि को देखना सामान्य है और यह इस बात का संकेत नहीं है कि आपने रैम संसाधनों को कम कर दिया है। लाल स्थिति में स्मृति दबाव देखने से संकेत मिलता है कि रैम संसाधन कम हो गए हैं।
  • ऐप मेमोरी: ऐप्स द्वारा उपयोग की जा रही जगह की मात्रा।
  • वायर्ड मेमोरी: मेमोरी जिसे डिस्क में कैश्ड नहीं किया जा सकता है, इसलिए इसे रैम में रहना चाहिए। इस मेमोरी को अन्य ऐप्स द्वारा उधार नहीं लिया जा सकता है।
  • संपीड़ित: रैम में स्मृति की मात्रा जो संपीड़ित होती है, जिससे अन्य एप्लिकेशन के लिए अधिक रैम संसाधन उपलब्ध होते हैं।
  • फ़ाइल कैश: रैम में वह स्थान जो उन ऐप्स के लिए उपलब्ध है जिन्हें उपयोग करने के लिए हाल ही में उपयोग की गई फाइलें शामिल हैं।

मेमोरी प्रेशर ग्राफ

गतिविधि मॉनिटर के पिछले संस्करणों में नि: शुल्क, वायर्ड, सक्रिय, निष्क्रिय और प्रयुक्त मेमोरी आँकड़ों के संयोजन को मैवरिक्स में "मेमोरी प्रेशर" ग्राफ को पढ़ने के लिए आसान के साथ बदल दिया गया है।

स्मृति दबाव रंग द्वारा इंगित किया गया है:

  • ग्रीन - रैम मेमोरी संसाधन उपलब्ध हैं।
  • एम्बर - रैम मेमोरी संसाधनों को सौंपा जा रहा है।
  • लाल - रैम मेमोरी संसाधन कम हो गए हैं और ओएस एक्स मेमोरी के लिए ड्राइव का उपयोग कर रहा है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.