linux中linux内存高占用率过高,如图

Linux下某个进程CPU占用率高分析方法

通過top命令找出消耗资源高的线程id利用strace命令查看该线程所有系统调用

1. 通过top命令找到可疑进程PID

从上面命令中可以看出java进程CPU利用率一直保持100%,稳居不下找到PID 1114

2. 找出消耗资源最高的线程

3. 查看这个线程所有系统调用

通过这3步基本可以找出什么原因导致java进程占用那么高CPU资源

linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:

linux下获取占用linux内存高资源最多的10个进程可以使用如下命令组合:

命令组合解析(针对CPU的,MEN也同樣道理):

该命令组合实际上是下面两句命令:

可以使用一下命令查使用linux内存高最多的10个进程

查看占用cpu最高的进程

或者top (然后按下M注意這里是大写)

查看占用linux内存高最高的进程

或者top (然后按下P,注意这里是大写)

该命令组合实际上是下面两句命令:

接下来的grep -v PID是将ps aux命令得到嘚标题去掉即grep不包含PID这三个字母组合的行,再将其中结果使用sort排序
sort -rn -k +3该命令中的-rn的r表示是结果倒序排列,n为以数值大小排序而-k +3则是针對第3列的内容进行排序,再使用head命令获取默认前10行数据(其中的|表示管道操作)

PR:进程的优先级别,越小越优先被执行
VIRT:进程占用的虚拟linux内存高
RES:进程占用的物理linux内存高
SHR:进程使用的共享linux内存高
S:进程的状态S表示休眠,R表示正在运行Z表示僵死状态,N表示该进程优先值为负數
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理linux内存高和总linux内存高的百分比
TIME+:该进程启动后占用的总的CPU时间即占用CPU使用时间的累加值。
COMMAND:进程啟动命令名称

、可以使用以下命令查使用linux内存高最多的K个进程

如果是10个进程K=10,如果是最高的三个K=3

说明:ps -aux中(a指代all——所有的进程,u指玳userid——执行该进程的用户idx指代显示所有程序,不以终端机来区分)

     sort -k4nr中(k代表从第几个位置开始后面的数字4即是其开始位置,结束位置洳果没有则默认到最后;n指代numberic sort,根据其数值排序;r指代reverse这里是指反向比较结果,输出时默认从小到大反向后从大到小。)本例中,可以看到%MEM在第4个位置根据%MEM的数值进行由大到小的排序。

方法2:top (然后按下M注意大写)

二、可以使用下面命令查使用CPU最多的K个进程


}

我要回帖

更多关于 linux内存高 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信