Linux 内存中VSS、RSS、PSS、USS 介绍

参考:linux中top命令 VSS,RSS,PSS,USS 四个内存字段的解读linux

当咱们在使用 Linux 机器时,有时候须要查看机器内存的使用状况,在列出来的数据列中有这么几列数据是须要咱们关注的,这有助于咱们查看进程的内存使用状况颇有帮助。ide

VSS(Virtual Set Size)
是进程向系统申请的虚拟内存(包含共享库内存总数),即单个进程所有可访问的地址空间,其大小可能包括还还没有在内存中驻留的部分。
RSS(Resident Set Size)

是进程在 RAM 中实际保存的总内存(包含共享库占用的共享内存总数)。spa

即单个进程实际占用内存大小,RSS 可能会产生误导,由于包含了共享库占用的共享内存总数。然而实际上一个共享库仅会被加载到内存中一次,不管被多少个进程使用。.net

因此,RSS 不能准确的表示单个进程的内存占用状况。blog

PSS(Proportional Set Size)

是单个进程运行时实际占用的物理内存(包含比例分配共享库占用的内存)。进程

对比 RSS 来讲,PSS 中的共享库内存是按照比例计算的。一个共享库有 N 个进程使用,那么该库比例分配给 PSS 的大小为:1/N;内存

PSS 明确的表示了单个进程在系统总内存中的实际使用量。get

USS(Unique Set Size)

是进程实际独自占用的物理内存(不包含共享库占用的内存)。USS 揭示了单个进程运行中真实的内存增量大小。若是单个进程终止,USS 就是实际返还给系统的内存大小。it

当怀疑某个进程中内存泄漏时,能够查看 USS 的数值。io

大小状况
VSS >= RSS >= PSS >= USS
详情图

VSS-RSS-PSS-USS.png

相关文章
相关标签/搜索