VSS, RSS, PSS, USS

轉載自”超超Boy“: https://www.cnblogs.com/jycboy/p/5453533.html

 

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是用來檢查進程中是否有內存泄露的最好選擇。

 

(完)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章