when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.
四个内存的 SS 分别是 VSS、RSS、PSS、USS
一般来说内存占用大小有如下规律:VSS(Virtual Set Size) >= RSS(Resident Set Size) >= PSS(Proportional Set Size) >= USS(Unique Set Size)
VSS - Virtual Set Size(用处不大)
虚拟耗用内存(包含共享库占用的全部内存,以及分配但未使用内存)
其大小还包括了可能不在RAM中的内存(比如虽然 malloc 分配了空间,但尚未写入)
VSS 很少被用于判断一个进程的真实内存使用量
RSS - Resident Set Size(用处不大)
实际使用物理内存(包含共享库占用的全部内存)
但是 RSS 可能会造成误导,因为它仅仅表示该进程所使用的所有共享库的大小,它不管有多少个进程使用该共享库,该共享库仅被加载到内存一次,所以 RSS 并不能准确反映单进程的内存占用情况
PSS - Proportional Set Size(仅供参考)
实际使用的物理内存(比例分配共享库占用的内存,按照进程数等比例划分)
例如:如果有三个进程都使用了一个共享库,共占用了 30 页内存,那么 PSS 将认为每个进程分别占用该共享库 10 页的大小
PSS 是非常有用的数据,因为系统中所有进程的 PSS 都相加的话,就刚好反映了系统总共占用的内存
当一个进程被销毁之后,其占用的共享库那部分比例的 PSS,将会再次按比例分配给余下使用该库的进程,所以 PSS 可能会造成误导,因为当一个进程被销毁后,PSS 不能准确地表示返回给全局系统的内存
USS - Unique Set Size(非常有用)
进程独自占用的物理内存(不包含共享库占用的内存)
USS 是非常非常有用的数据,因为它反映了运行一个特定进程真实的边际成本(增量成本)
当一个进程被销毁后,USS 是真实返回给系统的内存,所以当进程中存在一个可疑的内存泄露时,USS 是最佳观察数据
be slow to promise and quick to perform.