VSS、RSS、PSS、USS


VSS:Virtual Set Size,虛擬耗用內存。它是一個進程能訪問的所有內存空間地址的大小。這個大小包含了
一些沒有駐留在RAM中的內存,就像mallocs已經被分配,但還沒有寫入。VSS很少用來測量程序的實際使
用內存。

RSS:Resident Set Size,實際使用物理內存。RSS是一個進程在RAM中實際持有的內存大小。RSS可能會
產生誤導,因為它包含了所有該進程使用的共享庫所占用的內存,一個被加載到內存中的共享庫可能有很
多進程會使用它。RSS不是單個進程使用內存量的精確表示。

PSS:Proportional Set Size,實際使用的物理內存,它與RSS不同,它會按比例分配共享庫所占用的內存。
例如,如果有三個進程共享一個占30頁內存控件的共享庫,每個進程在計算PSS的時候,只會計算10頁。
PSS是一個非常有用的數值,如果系統中所有的進程的PSS相加,所得和即為系統占用內存的總和。當一個
進程被殺死后,它所占用的共享庫內存將會被其他仍然使用該共享庫的進程所分擔。在這種方式下,PSS
也會帶來誤導,因為當一個進程被殺后,PSS並不代表系統回收的內存大小。

USS:Unique Set Size,進程獨自占用的物理內存。這部分內存完全是該進程獨享的。USS是一個非常有用
的數值,因為它表明了運行一個特定進程所需的真正內存成本。當一個進程被殺死,USS就是所有系統回
收的內存。USS是用來檢查進程中是否有內存泄露的最好選擇。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM