Untuk proses tertentu dalam /proc/<pid>/smaps
, untuk entri pemetaan tertentu apa itu:
- Shared_Clean
- Shared_Dirty
- Private_Clean
- Private_Dirty
Apakah Shared_Clean
+ Shared_Dirty
jumlah memori yang dibagikan dengan proses lain? Jadi itu seperti berbagi RSS?
Demikian pula Private_Clean
+ Private_Dirty
jumlah memori yang tersedia hanya untuk satu proses ? Jadi itu seperti RSS pribadi?
Apakah nilai PSS = PrivateRSS + (SharedRSS / jumlah proses membagikannya)?
Beberapa pertanyaan lagi setelah membaca tautan ini: LWN
Sekarang mari kita bicara tentang proses secara keseluruhan, yang entri masuknya kita lihat.
Saya perhatikan bahwa jika saya melakukan Shared_Clean
+ Shared_Dirty
+ Private_Clean
+ Private_Dirty
untuk setiap entri yang jelas untuk proses tersebut, saya mendapatkan RSS proses seperti yang dilaporkan oleh ps
, yang cukup keren. Untuk misalnya
ps -p $$ -o pid,rss
Akan memberikan saya (kira-kira) nilai yang sama untuk rss sebagai jumlah dari setiap Shared_Clean
, Shared_Dirty
, Private_Clean
, Private_Dirty
entri di / proc / $$ / smaps.
Tapi bagaimana dengan PSS untuk seluruh proses? Jadi, dari contoh di atas bagaimana cara mendapatkan PSS untuk $$? Bisakah saya menambahkan entri PSS untuk setiap pemetaan smaps dan tiba di PSS untuk $$?
Dan bagaimana dengan USS untuk seluruh proses? Sekali lagi mengambil contoh di atas saya menduga bahwa saya dapat tiba di USS untuk $$ dengan meringkas hanya entri Private_ * untuk setiap entri smaps untuk $$ .. kan?
Catatan:
PSS = Ukuran set proporsional.
USS = Ukuran set unik.
sumber
Shared_Dirty
- bisakah Anda menjelaskan pertanyaan Anda?