如何根据进程号判断源程序干啥

现场查看在有64个CPU的服务器上,有一个CPU时不时的超频,就是说CPU利用率满100%了,,,这个问题困惑了好几天,,

今天解决了他,  

1,top   把CPU利用高的几个程序列出来;

2,找到你所需要的进程号  找出来;

3,查看这个进程在执行什么文件; ps aux |grep XXX(进程号)

4,有root权限的话,可以看这个进程在什么目录下运行的; ll /proc/xxx(进程号);     

如下图举例;

注意:执行  ll /proc/进程号 的时候,要用root 权限;

同样你也可以看看这个进程启动的几个线程;

有几种方法,如上篇文章遇到影响服务器性能的cpuspeed 服务中记录:

一、 ps axms | grep XXX;

二、 ps -eLf |grep XXX;

三、 pstree -p 进程号;

四、 top -Hp 进程号;

五、 pstree -p `ps -e | grep server | awk '{print $1}'`     这个是根据进程名字看的,其实就是pstree命令看;

(20170511)关于超频这个问题,要补充几句,看CPU是否超频,,要具体到服务器中单个的CPU,linux命令行,top后 按 1,就会动态列出每个CPU的运行信息,如下图,

如上图1,虽然程序运行显示CPU占用226%,但是观察图片的上半部分,CPU的利用率不超过30%,所以该服务器一切运行正常,

图2中显示CPU28 利用率 100%,在这个CPU利用率100%的时候,其他CPU的运行会受到影响,同时该CPU在超频时如果涉及到数据的处理,数据也有很大可能处理不完全...这个时候就需要其他手段,来控制CPU的超频.

原文地址:https://www.cnblogs.com/the-tops/p/6656525.html