Linux下某个进程的CPU使用率高的分析方法
使用top命令找出消耗大量资源的线程ID,并使用strace命令查看该线程的所有系统调用
1.使用top命令查找可疑进程的PID
从上面的命令可以看出,java进程的CPU利用率一直保持在100%,这是稳定的。查找PID 1114
2.查找消耗最多资源的线程
top -H -p 1114您可以不执行第一步而直接执行top -H命令,并且可以查看消耗最多资源的线程
3.查看此线程的所有系统调用
strace -p 1228或strace-cp 1228
通过这三个步骤,您基本上可以找出导致java进程占用如此高CPU资源的原因。
要获取在Linux下占用CPU资源最多的10个进程,可以使用以下命令组合:
ps aux | head -1; ps aux | grep -v PID | sort -rn -k +3 | head
要获取Linux下占用内存最多的10个进程,可以使用以下命令组合:
ps aux | head -1; ps aux | grep -v PID | sort -rn -k +4 | head
命令组合分析(对于CPU,MEN相同):
ps aux | head -1; ps aux | grep -v PID | sort -rn -k +3 | head
命令组合实际上是以下两个命令:
ps aux | head -1
ps aux | grep -v PID | sort -rn -k +3 | head
您可以使用以下命令检查使用最多内存的10个进程
查看CPU使用率最高的进程
psaux | head -1; ps aux | grep -v PID | sort -rn -k +3 | head
或顶部(然后按M,请注意该字母为大写)
查看内存使用率最高的进程
ps aux | head -1; ps aux | grep -v PID | sort -rn -k +4 | head
或按顶部(然后按P,请注意该字母应大写)
命令组合实际上是以下两个命令:
ps aux | head -1
ps 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 -rn -k +3此命令中-rn的r表示结果按相反顺序排序,n按数值排序,-k +3用于对第三列的内容进行排序,然后默认使用head Command获取前10行数据。 (其中|表示管道操作)
补充:内容说明
PID:进程ID
USER:流程所有者
PR:进程的优先级,优先级越小,将被执行的优先级越高
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。 S表示休眠,R表示运行,Z表示死状态,N表示进程的优先级值为负
%CPU:进程占用的CPU利用率
%MEM:进程使用的物理内存和总内存的百分比
TIME +:进程启动后占用的总CPU时间,即CPU使用时间的累积值。
命令:进程启动命令名称
,您可以使用以下命令检查使用最多内存的K个进程
方法1:
ps -aux | sort -k4nr | head -K
如果有10个进程,则K = 10,如果是最高的三个进程,则K = 3
说明:在ps -aux中(a表示所有进程,u表示执行该进程的userid-user id,x表示显示所有程序,未按终端区分)
ps -aux的输出格式如下:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19352 1308 ? Ss Jul29 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S Jul29 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Jul29 0:11 [migration/0]
在-k4nr排序中(k表示从其开始的位置,以下数字4是开始位置,如果不是结束位置,则默认为结尾; n表示数字排序,根据它的值; r表示代表反向,这里指的是反向比较结果,默认情况下输出是从小到大,在反向后输出是从大到小。在此示例中,您可以看到%MEM在第4个位置,并根据%MEM的值从最大到最小排序。
head -K(K表示行数,即输出前几个结果)
|是管道符号,它将查询结果引至下一步的下一步命令。
方法2:置顶(然后按M键,注意大小写)
二、您可以使用以下命令来检查使用CPU最多的K个进程
方法1:
ps -aux | sort -k3nr | head -K
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-340463-1.html