उबंटू में किसी विशेष प्रक्रिया के लिए आवंटित कुल मेमोरी का पता लगाएं


15

मैं उबंटू में किसी विशेष प्रक्रिया के लिए आवंटित कुल मेमोरी का पता कैसे लगा सकता हूं?


1
क्या आपने ps -aefl की कोशिश की और SZ कॉलम को देखा?
mdpc

2
आप "द्वारा आवंटित स्मृति का पता लगाएं" से क्या मतलब है? क्या आप जानना चाहते हैं कि प्रक्रिया कितनी मेमोरी का उपयोग कर रही है?
गिल्स एसओ- बुराई को रोकें '22

जवाबों:


14

प्रयत्न:

pidof bash | xargs ps -o rss,sz,vsz

अपने वर्तमान bashशेल के मेमोरी उपयोग को खोजने के लिए (यह मानकर कि आप उपयोग कर रहे हैं bash)। bashआप जो भी जांच कर रहे हैं उसे बदलें । यदि आप एक विशिष्ट प्रक्रिया के बाद हैं, तो बस इसका उपयोग करें:

ps -o rss,sz,vsz <process id>

से manपेज:

RSS: निवासी सेट आकार, एक गैर-स्वैप की गई भौतिक मेमोरी जिसे किसी कार्य में उपयोग किया जाता है (किलोबाइट में)।

SZ: प्रक्रिया की मूल छवि के भौतिक पृष्ठों में आकार। इसमें टेक्स्ट, डेटा और स्टैक स्पेस शामिल हैं।

VSZ: KiB (1024-बाइट इकाइयों) में प्रक्रिया का वर्चुअल मेमोरी आकार।

विकल्प के लिए manपेज psसभी संभावित तर्कों को सूचीबद्ध करेगा -o(इसमें से चुनने के लिए काफी कुछ हैं)। इसके बजाय -o rss,szआप बीएसडी शैली vविकल्प (कोई डैश नहीं) का उपयोग कर सकते हैं जो एक वैकल्पिक मेमोरी लेआउट दिखाता है।


धन्यवाद गैरेथ ... क्या आप कह रहे हैं कि SZ उस प्रक्रिया के लिए आवंटित मेमोरी है?
अंजलि

4
यहाँ एक अच्छा क्यूए है जो बीच के रिश्ते को बताता है RSS, SZऔर VSZ
garethTheRed

5

आप का उपयोग कर सकते हैं pmapजो एक प्रक्रिया की स्मृति नक्शा दिखाता है:

pmap -p pid

इसके बारे में अधिक जानकारी के लिए मैन पेज देखें man pmapया pmap (1) पर नज़र डालें : रिपोर्ट मेमोरी मैप ऑफ़ प्रोसेस - लिनक्स मैन पेज


0

उबंटू में किसी विशेष प्रक्रिया के लिए आवंटित कुल मेमोरी का पता कैसे लगाएं?

आप यह परिभाषित नहीं करते हैं कि किसी प्रक्रिया के लिए आवंटित की गई मेमोरी क्या है , और वास्तव में यह एक बहुत ही जटिल प्रश्न है (साझा मेमोरी मैपिंग के बारे में क्या है - विवरण के लिए mmap (2 देखें ) ; POSIX साझा की गई मेमोरी के बारे में क्या है - देखें shm_overview (7) अधिक ; खोली गई फ़ाइलों के लिए उपयोग किए जाने वाले पृष्ठ कैश में कुछ पृष्ठों के बारे में क्या है ? आदि ...)

आप इस्तेमाल कर सकते हैं /proc/फाइल सिस्टम (जो BTW द्वारा किया जाता है ps, pmap, top, htopआदि ....)। अधिक के लिए खरीद (5) पढ़ें । पीआईडी 1234 आप इस्तेमाल कर सकते हैं की प्रक्रिया के लिए विशेष रूप से /proc/1234/status, /proc/1234/statm, /proc/1234/mapsआदि ... वे सभी शाब्दिक छद्म फ़ाइलें (पाइप की तरह एक बिट) है कि आप के साथ देख सकते हैं cat(या पढ़ा क्रमिक रूप से कुछ कार्यक्रम के अंदर)। BTW, एक प्रोग्राम के अंदर से /proc/self जो आप उपयोग कर सकते हैं (जो कि एक छद्म सिमलिंक है), उदाहरण के लिए क्रमिक रूप से पढ़ें /proc/self/status...

LinuxAteMyRam भी देखें ।

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