当前位置:首页 > 内存 > 正文

linux进程占用多少内存(读取当前linux进程内存)

  • 内存
  • 2024-05-06 03:17:01
  • 6907

一、精确度量Linux下进程占用多少内存的方法psaux:
其中
RSS列:“ResidentSetSize”,实际内存数为“内存中”。操作系统交换40K内存,那么RSS为60K,还包括与其他进程共享的内存区域。该区域通常用于libc库等。“VirtualSetSize”是进程占用的地址空间的总大小,它包括未映射到内存的页面。
如果想查看更详细的内存使用情况,可以使用下面的方法,或者几种方法的组合使用,这些都需要root权限
(1).pmap-d$pid
$pid是当前运行程序的pid
2).cat/proc/$pid/smaps
Smaps数据是更详细,可以简洁为了总结一下,总结的命令如下:
cat/proc/$pid/smaps|awk'/Size|Rss|Pss|Shared|Private|Referred|Swap/{val_name=gensub(/([a-zA-Z_]*).*/,"\\1",1,$1);list[val_name]+=$2;}END{for(valinlist)printval,list[val];}'
(3).cat/proc/$pid/maps
(4).cat/proc/$pid/statm
输出说明
第一列size:任务虚拟地址空间大小
第二列Resident:使用的物理内存大小
第三列Shared:共享页数
第四列Trs:程序拥有的可执行虚拟内存大小
第五列Lrs:映射任务虚拟内存空间的库大小
第六列Drs:程序数据段和模式栈用户的大小
第七列dt:脏页数