程序占内存的方法
第一种:/proc/11460/status 文件
第二种:pmap命令
第三种:/proc/11460/smaps 文件
第四种:ps -e -o 'pid,rsz'
第五种:top -b -n1
第六种:top状态下按"M"
找程序占内存的方法有很多,总结了几个方便并且经常用的方法:
这里假设我要知道httpd程序占用多少内存:

netstat -napt | grep :80

得到pid为:11460

第一种:/proc/11460/status 文件
cat /proc/11460/status | grep VmRSS #VmRSS表示占用的物理内存


第二种:pmap命令
pmap -x 11460 | grep total | awk '{print $4}' #最后一行的第四字段表示占用的物理内存

 

第三种:/proc/11460/smaps 文件
cat /proc/11460/smaps | grep '^Rss:' | awk '{sum +=$2} END{print sum}' #过滤出以Rss开头的并求出总和

 

第四种:ps -e -o ‘pid,rsz’
ps -e -o 'pid,rsz' | grep 11460 #自定义ps输出格式只显示pid和rsz,然后使用grep过滤pid号

第五种:top -b -n1
top -b -n1 | grep 11460 | awk '{print $6}' #-b 将top输出编排成适合输出到文件的格式,然后在进行过滤


第六种:top状态下按"M"
top 命令状态下 按“M”键可以实现进程占内存降序排序
1
记得按"M"键进行按照内存占用大小排序

posted on 2022-07-05 11:33  Dufe王彬  阅读(532)  评论(0编辑  收藏  举报