2008-08-26 20 views
12

एक कंप्यूटर आकार के नजरिए से वर्चुअल मेमोरीविंडोज कार्य प्रबंधक में "वीएम आकार" का क्या अर्थ है?

लगता है कि यह सन्निहित पतों की एक बड़ी रेंज है [कार्यक्रम बनाने के लिए एक तरह से] है; लेकिन वास्तविकता में भागों यह वर्तमान में उपयोग कर रहा है चारों ओर बिखरे हुए हैं रैम, और निष्क्रिय भागों एक डिस्क फ़ाइल में सहेजा जा सकता है। (Wikipedia)

मैं या तो कुल पता आभासी स्मृति अंतरिक्ष या स्मृति की मात्रा प्रक्रिया वर्तमान में आभासी स्मृति अंतरिक्ष में उपयोग कर रहा है के रूप में Windows कार्य प्रबंधक में वी एम आकार की व्याख्या करेंगे।

लेकिन कार्य प्रबंधक WM आकार में मेम प्रयोग से भी कम समय कई मामलों में, जो इस प्रक्रिया का उपयोग कर रहा RAM की मात्रा होना चाहिए में है। तो मुझे लगता है कि डब्ल्यूएम आकार का मतलब कुछ और है?

उत्तर

-2

कैसे एक कोडिंग आतंक का जवाब देने की पोस्ट के बारे में इस: http://www.codinghorror.com/blog/archives/000393.html

"वीएम आकार:। प्रक्रियाओं 'कम बार इस्तेमाल किया स्मृति का कितना डिस्क पर पृष्ठांकित कर दिया गया है"

+2

वास्तव में, उस पोस्ट पर माइक डिममिक की टिप्पणी देखें: "आप वीएम आकार पर गलत हैं। यह सभी निजी (साझा नहीं) बाइट्स द्वारा आवंटित कुल मिलाकर है यह प्रक्रिया, वर्तमान में भौतिक स्मृति में है या नहीं ... " –

0

स्मृति की मात्रा है कि इस प्रक्रिया 'पता स्थान में मैप किया। इसमें साझा मेमोरी मैपिंग शामिल हो सकते हैं।

एक प्रक्रिया में प्रत्येक साझा ऑब्जेक्ट (डीएलएल) के लिए मेमोरी स्पेस के अनुभाग होंगे, जो इसका हिस्सा हैं, साथ ही स्टैक के लिए कुछ मेमोरी, और प्रक्रिया द्वारा आवंटित क्षेत्रों।

उदाहरण अपने सिस्टम मैं अपनी स्मृति मैपिंग देख सकते हैं पर एक cat आदेश की स्मृति मानचित्र को देखकर लिए

। इस मामले में मैं बिल्ली प्रक्रिया की जांच के लिए cat /proc/self/maps का उपयोग करता हूं। इसकी वर्चुअल मेमोरी में मैप किया गया बाइनरी ही है, कुछ ढेर, लोकेल सूचना, libc (विभिन्न अनुमति झंडे के साथ), ld.so (गतिशील लिंकर), ढेर, vdso और vsyscall खंड और कुछ अज्ञात मैपिंग्स (मैप किए गए पृष्ठ बिना बैकिंग फ़ाइल वाले)। 0x7fff5c9ff000 - 0x7fff5c9fe000 = 0x1000:

00400000-00408000   r-xp  /bin/cat 
00607000-00608000   rw-p  /bin/cat 
008ac000-008cd000   rw-p  [heap] 
7fbd54175000-7fbd543cf000 r--p  /usr/lib/locale/locale-archive 
7fbd543cf000-7fbd54519000 r-xp  /lib/libc-2.7.so 
7fbd54519000-7fbd54718000 ---p  /lib/libc-2.7.so 
7fbd54718000-7fbd5471b000 r--p  /lib/libc-2.7.so 
7fbd5471b000-7fbd5471d000 rw-p  /lib/libc-2.7.so 
7fbd5471d000-7fbd54722000 rw-p 
7fbd54722000-7fbd5473e000 r-xp  /lib/ld-2.7.so 
7fbd5491d000-7fbd5491f000 rw-p 
7fbd5493a000-7fbd5493d000 rw-p 
7fbd5493d000-7fbd5493f000 rw-p  /lib/ld-2.7.so 
7fff5c929000-7fff5c93e000 rw-p  [stack] 
7fff5c9fe000-7fff5c9ff000 r-xp  [vdso] 
ffffffffff600000-ffffffffff601000 r-xp [vsyscall] 

प्रत्येक मानचित्रण के लिए, इसके आकार [stack] लाइन निर्धारित करने के लिए, उदाहरण के लिए अंत पते से आरंभ पता घटाना। दशमलव में, 40 9 6 बाइट्स - एक 4 केआईबी स्टैक।

आप इन सभी आंकड़ों को जोड़ रहे हैं, तो आप इस प्रक्रिया को 'आभासी स्मृति (VM) आकार मिल जाएगा।

वीएम आकार निर्धारित करने के लिए कितनी स्मृति एक प्रक्रिया का उपयोग कर रहा है एक विश्वसनीय तरीका नहीं है। उदाहरण के लिए, भौतिक स्मृति में केवल पढ़ने के लिए केवल /lib/libc-2.7.so मानचित्रों में से प्रत्येक की एक प्रति होगी, भले ही कितनी प्रक्रियाएं इसका उपयोग करें।

1

वीएम आकार के बारे में सही जवाब क्या है?

  • डरावना

    कैसे प्रक्रियाओं 'कम बार इस्तेमाल किया स्मृति के बहुत डिस्क पर पृष्ठांकित किया गया है कोडिंग में।

  • डरावना

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

  • MSDN

    वर्चुअल मेमोरी आकार में: आभासी स्मृति की मात्रा, या पता स्थान, एक प्रक्रिया के लिए प्रतिबद्ध।

मैं भ्रमित हूँ corrent है क्या।

8

यह इस प्रक्रिया द्वारा आवंटित सभी निजी (साझा नहीं) बाइट्स का कुल है, चाहे वर्तमान में भौतिक स्मृति में हो या नहीं।

भी An introductory guide to Windows Memory Management या Commit Charge Wikipedia article

देखें एक डेवलपर इस तरह की प्रक्रिया राज्य देख के लिए मैं SysInternals Process Explorer स्थापित करने के लिए सिफारिश करेंगे और डिफ़ॉल्ट कार्य प्रबंधक के बजाय इसका उपयोग करने के लिए। इस मान को "निजी बाइट्स" कहा जाता है।

+1

thx SysInternals प्रक्रिया एक्सप्लोरर – jedierikb

-3

मैं विंडोज़ टास्क मैनेजर में वीएम आकार नहीं देख सकता, व्हाट्स गोल्ड के पास अपने टास्क मैनेजर में वीएम आकार है - क्या आपका मतलब है? इस मामले में मैं इसे वीएम

+2

के लिंक के लिए देखें -> कॉलम का चयन करें ... -> वर्चुअल मेमोरी आकार –