Linux 下查看某一个程序所使用的内存方法介绍
在 Linux 上进行开发和运营维护的时候,免不了要查看某一个程序所占用内存的情况。常用方法总结如下(注意第四种方法):
第一种:ps -aux | grep process_name
举例如下:现打算监控/usr/bin/sshd所占的内存,首先需找到pid,然后使用top进行有目标的监控,RES即为内存值,见下两图:
top -p 1231,截图如下:
第二种:top -p pid 查看程序的情况 如上图所示!
第三种:cat /proc/pid/status
这里会打印出当前进程详细的情况,其中,内存是 VmRSS。
注:pid是要替换成一个id数字的。
!!!第四种:linux查看占用内存最高的进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
或者top (然后按下P,注意这里是大写),截图如下:
该命令组合实际上是下面两句命令:
ps aux|head -1ps aux|grep -v PID|sort -rn -k +3|head
其中第一句主要是为了获取标题(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。
接下来的grep -v PID是将ps aux命令得到的标题去掉,即grep不包含PID这三个字母组合的行,再将其中结果使用sort排序。
sort -rn -k +3该命令中的-rn的r表示是结果倒序排列,n为以数值大小排序,而-k +3则是针对第3列的内容进行排序,再使用head命令获取默认前10行数据。(其中的|表示管道操作)
扩展:
linux查看占用cpu最高的进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
或者top (然后按下M,注意这里是大写)