Verilen bir işlem /proc/<pid>/smaps
için, verilen bir haritalama girişi için:
- Shared_Clean
- Shared_Dirty
- Private_Clean
- Private_Dirty
Shared_Clean
+ Shared_Dirty
Diğer işlemlerle paylaşılan hafıza miktarı mı ? Yani paylaşılan RSS gibi mi?
Benzer şekilde Private_Clean
+ sadece bir işlem için mevcutPrivate_Dirty
olan hafıza miktarı ? Yani özel RSS gibi mi?
PSS değeri = PrivateRSS + (PaylaşılanRSS / paylaşılan işlem sayısı)?
Bu linki okuduktan sonra birkaç soru: LWN
Şimdi smaps girişine baktığımız süreç hakkında bir bütün olarak konuşalım.
Ben fark ben yaparsam Shared_Clean
+ Shared_Dirty
+ Private_Clean
+ Private_Dirty
her ı tarafından bildirilen sürecinin RSS olsun süreci için giriş smaps için ps
hoş serin olan. Örneğin
ps -p $$ -o pid,rss
Her toplamı olarak bana rss için (yaklaşık) aynı değeri verecektir Shared_Clean
, Shared_Dirty
, Private_Clean
, Private_Dirty
giriş / proc / $$ / smaps.
Peki ya tüm süreç için PSS ? Peki yukarıdaki örnekten PSS'yi $$ için nasıl alabilirim? Her smaps eşlemesi için PSS girişini ekleyebilir ve $$ için PSS'e ulaşabilir miyim?
Peki ya tüm süreç için USS ? Yine yukarıdaki örneği ele alarak, $$ için USS'ye ulaşabileceğimi tahmin ediyorum. $$ için her smaps girişi için sadece Private_ * girişlerini topladım.
Notlar:
PSS = Oransal set büyüklüğü.
USS = Benzersiz ayarlanmış boyut.