Đối với một quy trình nhất định /proc/<pid>/smaps
, đối với mục nhập ánh xạ đã cho, đó là:
- Shared_Clean
- Shared_Denty
- Riêng tư
- Private_Denty
Là Shared_Clean
+ Shared_Dirty
dung lượng bộ nhớ được chia sẻ với các quá trình khác? Vì vậy, nó giống như chia sẻ RSS?
Tương tự là Private_Clean
+ Private_Dirty
dung lượng bộ nhớ chỉ có sẵn cho một quá trình ? Vì vậy, nó giống như RSS tư nhân?
Giá trị PSS = PrivateRSS + (SharedRSS / số quy trình chia sẻ nó)?
Một số câu hỏi khác sau khi đọc liên kết này: LWN
Bây giờ hãy nói về toàn bộ quá trình, mà chúng ta đang xem xét.
Tôi nhận thấy rằng nếu tôi thực hiện Shared_Clean
+ Shared_Dirty
+ Private_Clean
+ Private_Dirty
cho mỗi mục nhập smaps cho quy trình, tôi sẽ nhận được RSS của quy trình như được báo cáo bởi ps
, điều này khá tuyệt. Ví dụ
ps -p $$ -o pid,rss
Sẽ cho tôi (xấp xỉ) cùng một giá trị cho rss như là tổng của tất cả các Shared_Clean
, Shared_Dirty
, Private_Clean
, Private_Dirty
mục trong / proc / $$ / smaps.
Nhưng những gì về PSS cho toàn bộ quá trình? Vì vậy, từ ví dụ trên, làm thế nào để tôi nhận được PSS cho $$? Tôi có thể chỉ cần thêm mục PSS cho mỗi ánh xạ smaps và đến PSS cho $$ không?
Và những gì về USS cho toàn bộ quá trình? Một lần nữa lấy ví dụ ở trên Tôi đoán rằng tôi có thể đến USS cho $$ bằng cách chỉ tóm tắt các mục Private_ * cho mỗi mục smaps cho $$ .. phải không?
Ghi chú:
PSS = Kích thước cài đặt tỷ lệ.
USS = Kích thước cài đặt duy nhất.