轉載自”超超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是用來檢查進程中是否有內存泄露的最好選擇。
(完)