यूनिक्स पर प्रक्रिया का आकार

Solaris, HP-UX और AIX पर प्रक्रिया आकार प्राप्त करने का सही तरीका क्या है? क्या हमें top या ps -o vsz या कुछ और उपयोग करना चाहिए?

0
जोड़ा संपादित
विचारों: 2

4 उत्तर

हां, आप वीएसजेड पर लॉक करने का अधिकार हैं।

ps u will give you the VSZ and RSS, which are the virtual memory size and resident set size. The RSS is how much physical memory has been allocated to the process, and the VSZ is the virtual memory size of the process. If you have several copies of a program running, a lot of the memory in the VSZ will be shared between those processes.

0
जोड़ा
यदि आप रुचि रखते हैं तो वीएसजेड नंबर बेकार है स्मृति मेमोरी है। वीएसजेड मापता है कि प्रक्रिया की वर्चुअल मेमोरी स्पेस को प्रक्रिया के द्वारा कितनी मेमोरी के रूप में चिह्नित किया गया है, अगर ऑपरेटिंग सिस्टम द्वारा मैप किया जाना चाहिए यदि प्रक्रिया इसे छूने के लिए होती है। लेकिन इसका कोई लेना-देना नहीं है कि क्या उस स्मृति को वास्तव में छुआ और इस्तेमाल किया गया है। वीएसजेड एक आंतरिक विवरण है कि प्रक्रिया मेमोरी आवंटन कैसे करती है? अप्रयुक्त स्मृति का एक हिस्सा कितना बड़ा होता है यह एक बार में पकड़ता है। आरएसएस को मेमोरी पेजों की गिनती के लिए देखें, जिसने वास्तव में इसका उपयोग करना शुरू
जोड़ा लेखक Brandon Rhodes, स्रोत

बनाम , rss , rprvt , rshrd , और अन्य अस्पष्ट दिखने वाले संक्षेपों की सटीक परिभाषाएं ओएस से भिन्न होती हैं ओएस। top और ps कमांड के मैन्युअल पृष्ठों में कुछ प्रकार का वर्णन होगा, लेकिन ऐसे सभी विवरण बहुत सरल हैं (या लंबे विलुप्त कर्नेल कार्यान्वयन पर आधारित हैं)। < br> एक अवधारणा के रूप में "प्रक्रिया आकार" सामान्य मामले में पिन करना बेहद मुश्किल है। विशिष्ट उदाहरणों में उत्तर ओएस में वास्तविक स्मृति प्रबंधन कार्यान्वयन पर भारी निर्भर करता है, और शायद ही कभी "उपयोगकर्ताओं के आकार (" अधिकांश डेवलपर्स) के दिमाग में मौजूद "प्रक्रिया आकार" अवधारणा के रूप में संतुष्ट होता है।

उदाहरण के लिए, उन संख्याओं में से कोई भी नहीं (न ही, संभवतः, उनमें से कोई भी संयोजन) आपको यह बताने के लिए उपयोग किया जा सकता है कि कितनी ऐसी प्रक्रियाएं एक ही समय में मुफ्त मेमोरी में चल सकती हैं। लेकिन वास्तव में, आपकी सबसे अच्छी शर्त उस अंत में आना है: आप यह संख्या क्यों चाहते हैं, और आप इसके लिए क्या उपयोग करेंगे? उस जानकारी को देखते हुए, मुझे लगता है कि आपको अधिक उपयोगी उत्तर मिलेंगे।

0
जोड़ा

On Solaris, you can get detailed information on a process's memory usage with the pmap command. In particular, pmap -x shows you how much of a process's memory is shared and how much is specifically used by that process. This is useful for working out the "marginal" memory usage of a process -- with this technique you can avoid double-counting shared libraries.

0
जोड़ा

मैंने इस तरह की सभी प्रक्रियाओं के लिए निवासी सेट आकार को सारांशित किया (रूट के रूप में):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
0
जोड़ा