内存耗用情况
在linux下表示内存的耗用情况有四种不同的表现形式
-
VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
-
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
-
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
-
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
VSS、RSS、PSS、USS占用对比
-
VSS: VSS表示一个进程可访问的全部内存地址空间的大小。这个大小包括了进程已经申请但尚未使用的内存空间。在实际中很少用这种方式来表示进程占用内存的情况,用它来表示单个进程的内存使用情况是不准确的。
-
RSS: 表示一个进程在RAM中实际使用的空间地址大小,包括了全部共享库占用的内存,这种表示进程占用内存的情况也是不准确的。
-
PSS: 表示一个进程在RAM中实际使用的空间地址大小,它按比例包含了共享库占用的内存。假如有3个进程使用同一个共享库,那么每个进程的PSS就包括了1/3大小的共享库内存。这种方式表示进程的内存使用情况较准确,但当只有一个进程使用共享库时,其情况和RSS一模一样。
-
USS: 表示一个进程本身占用的内存空间大小,不包含其它任何成分,这是表示进程内存大小的最好方式!
可以看到: VSS>=RSS>=PSS>=USS