轉載
原文地址:http://blog.csdn.net/bigconvience/article/details/35553983
在linux下表示內存的耗用情況有四種不同的表現形式:
VSS - Virtual Set Size 虛擬耗用內存(包含共享庫占用的內存)
RSS - Resident Set Size 實際使用物理內存(包含共享庫占用的內存)
PSS - Proportional Set Size 實際使用的物理內存(比例分配共享庫占用的內存)
USS - Unique Set Size 進程獨自占用的物理內存(不包含共享庫占用的內存)
VSS:VSS表示一個進程可訪問的全部內存地址空間的大小。這個大小包括了進程已經申請但尚未使用的內存空間。在實際中很少用這種方式來表示進程占用內存的情況,用它來表示單個進程的內存使用情況是不准確的。
RSS:表示一個進程在RAM中實際使用的空間地址大小,包括了全部共享庫占用的內存,這種表示進程占用內存的情況也是不准確的。
PSS:表示一個進程在RAM中實際使用的空間地址大小,它按比例包含了共享庫占用的內存。假如有3個進程使用同一個共享庫,那么每個進程的PSS就包括了1/3大小的共享庫內存。這種方式表示進程的內存使用情況較准確,但當只有一個進程使用共享庫時,其情況和RSS一模一樣。
USS:表示一個進程本身占用的內存空間大小,不包含其它任何成分,這是表示進程內存大小的最好方式!
可以看到:VSS>=RSS>=PSS>=USS
