linux 查看进程的内存占用
cat /proc/pid/status 命令查看内存
VmPeak: 表示进程所占用最大虚拟内存大小
VmSize: 表示进程当前虚拟内存大小
VmLck: 表示被锁定的内存大小
VmHWM: 表示进程所占用物理内存的峰值
VmRSS: 表示进程当前占用物理内存的大小(与procrank中的RSS)
VmData: 表示进程数据段的大小
VmStk: 表示进程堆栈段的大小
VmExe: 表示进程代码的大小
VmLib: 表示进程所使用共享库的大小
VmPTE: 表示进程页表项的大小
top 命令下的内存占用分析
-
VIRT:Virtual memory Size 虚拟内存
1、虚拟耗用内存(包含共享库占用的内存),即单个进程全部可访问的地址空间,其大小可能包括还尚未在内存中驻留的部分。
2、进程需要的虚拟内存大小,包括进程使用的库、代码、数据等
3、 VIRT是申请的虚拟内存总量,VIRT=SWAP+RES -
SWAP :进程使用的虚拟内存中,被换出的大小
-
RES:resident memory size 常驻内存
1、实际使用物理内存(包含共享库占用的内存),即单个进程实际占用的内存大小,RES不太准确的地方在于它包括该进程所使用共享库全部内存大小
2、进程使用的、未被换出的物理内存大小,RES=CODE+DATA+HEAP -
SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、映射到文件里可能被其他进程共享的内存