किसी दिए /proc/<pid>/smaps
गए मानचित्रण प्रविष्टि के लिए, में दी गई प्रक्रिया के लिए:
- Shared_Clean
- Shared_Dirty
- Private_Clean
- Private_Dirty
है Shared_Clean
+ Shared_Dirty
स्मृति की मात्रा है कि अन्य प्रक्रियाओं के साथ साझा किया जाता है? तो यह साझा आरएसएस जैसा है?
इसी प्रकार Private_Clean
+ Private_Dirty
मेमोरी की मात्रा जो केवल एक प्रक्रिया के लिए उपलब्ध है ? तो यह निजी आरएसएस की तरह है?
क्या PSS मान = PrivateRSS + (साझाकरण / इसे साझा करने की प्रक्रिया की संख्या) है?
इस लिंक को पढ़ने के बाद कुछ और सवाल: LWN
अब पूरी प्रक्रिया के बारे में बात करते हैं, जिसकी स्मैप प्रविष्टि हम देख रहे हैं।
मैंने देखा कि अगर मैं प्रक्रिया के लिए प्रत्येक smaps प्रविष्टि के लिए Shared_Clean
+ Shared_Dirty
+ Private_Clean
+ करता हूं तो मुझे Private_Dirty
आरएसएस की प्रक्रिया मिलती है ps
, जो कि बहुत अच्छी है। उदाहरण के लिए
ps -p $$ -o pid,rss
मुझे हर की राशि के रूप (लगभग) आरएसएस के लिए एक ही मूल्य दे देंगे Shared_Clean
, Shared_Dirty
, Private_Clean
, Private_Dirty
प्रवेश / proc / $$ / smaps।
लेकिन पूरी प्रक्रिया के लिए PSS का क्या ? तो, ऊपर के उदाहरण से मैं $ $ के लिए PSS कैसे प्राप्त करूं? क्या मैं हर smaps मैपिंग के लिए PSS प्रविष्टि जोड़ सकता हूं और $ $ के लिए PSS पर पहुंच सकता हूं?
और पूरी प्रक्रिया के लिए यूएसएस के बारे में क्या ? फिर से उदाहरण लेने के बाद मैं अनुमान लगा रहा हूं कि मैं US $ $ के लिए केवल Private_ * प्रविष्टियों को $ $ के लिए हर स्मैप प्रविष्टि के लिए संक्षेप में लिख सकता हूं .. सही है?
नोट्स:
PSS = आनुपातिक सेट आकार।
यूएसएस = अद्वितीय सेट आकार।