สำหรับกระบวนการที่กำหนดใน/proc/<pid>/smaps
สำหรับรายการการแม็พที่กำหนดคือ:
- Shared_Clean
- Shared_Dirty
- Private_Clean
- Private_Dirty
เป็นShared_Clean
+ Shared_Dirty
จำนวนหน่วยความจำที่ใช้ร่วมกันกับกระบวนการอื่น ๆ ? มันเหมือนกับ RSS ที่แชร์ใช่ไหม
ในทำนองเดียวกันPrivate_Clean
+ Private_Dirty
จำนวนหน่วยความจำที่มีอยู่สำหรับกระบวนการเดียวเท่านั้นหรือไม่ ดังนั้นมันจึงเป็นเหมือน RSS ส่วนตัว?
ค่า PSS = PrivateRSS + (SharedRSS / จำนวนกระบวนการที่ใช้ร่วมกัน) หรือไม่
บางคำถามเพิ่มเติมหลังจากอ่านลิงค์นี้: LWN
ตอนนี้ให้พูดคุยเกี่ยวกับกระบวนการทั้งหมดซึ่ง smaps รายการที่เรากำลังดู
ฉันสังเกตเห็นว่าถ้าฉันทำShared_Clean
+ Shared_Dirty
+ Private_Clean
+ Private_Dirty
สำหรับทุกรายการ smaps สำหรับกระบวนการฉันได้รับ RSS ของกระบวนการตามที่รายงานโดยps
ซึ่งค่อนข้างเจ๋ง สำหรับเช่น
ps -p $$ -o pid,rss
จะให้ฉัน (ประมาณ) ค่าเดียวกันสำหรับ RSS เป็นผลรวมของทุกคนShared_Clean
, Shared_Dirty
, Private_Clean
, Private_Dirty
รายการใน / proc / $$ / smaps
แต่แล้ว PSSสำหรับกระบวนการทั้งหมดล่ะ? จากตัวอย่างข้างต้นฉันจะรับ PSS สำหรับ $$ ได้อย่างไร ฉันสามารถเพิ่มรายการ PSS สำหรับทุกการจับคู่ smaps และไปถึง PSS สำหรับ $$ ได้หรือไม่
แล้ว USSสำหรับกระบวนการทั้งหมดล่ะ? ทำตามตัวอย่างข้างบนอีกครั้งฉันเดาว่าฉันจะมาถึง USS สำหรับ $$ โดยสรุปเฉพาะรายการส่วนตัว _ * สำหรับทุกรายการ smaps สำหรับ $$ .. ใช่ไหม?
หมายเหตุ:
PSS = ขนาดชุดตามสัดส่วน
USS = ขนาดชุดที่ไม่ซ้ำกัน