मैं उबंटू में किसी विशेष प्रक्रिया के लिए आवंटित कुल मेमोरी का पता कैसे लगा सकता हूं?
मैं उबंटू में किसी विशेष प्रक्रिया के लिए आवंटित कुल मेमोरी का पता कैसे लगा सकता हूं?
जवाबों:
प्रयत्न:
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
विकल्प (कोई डैश नहीं) का उपयोग कर सकते हैं जो एक वैकल्पिक मेमोरी लेआउट दिखाता है।
आप का उपयोग कर सकते हैं pmap
जो एक प्रक्रिया की स्मृति नक्शा दिखाता है:
pmap -p pid
इसके बारे में अधिक जानकारी के लिए मैन पेज देखें man pmap
या pmap (1) पर नज़र डालें : रिपोर्ट मेमोरी मैप ऑफ़ प्रोसेस - लिनक्स मैन पेज ।
उबंटू में किसी विशेष प्रक्रिया के लिए आवंटित कुल मेमोरी का पता कैसे लगाएं?
आप यह परिभाषित नहीं करते हैं कि किसी प्रक्रिया के लिए आवंटित की गई मेमोरी क्या है , और वास्तव में यह एक बहुत ही जटिल प्रश्न है (साझा मेमोरी मैपिंग के बारे में क्या है - विवरण के लिए 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 भी देखें ।