使用Linux命令找出消耗CPU最大的java进程,怎么找?
ps aux | grep java | sort -k 3 -rn | head -n 1
其实最简单的是top命令,但是top是所有应用的各种资源占用情况,需要自己鉴别需要的信息,并且处于持续刷新。
如果只是看瞬时cpu,可以使用:
# -n 表示1次,不加会一直不断刷新; grep为筛选java应用, -P表示根据cpu占用率排序,如果是内存排序,为-M
top -n 1|grep java -P
不知道你这个问题是否已经解决, 如果还没有解决的话:top -c
ps -eo pid,ppid,%cpu,%mem,args | sort -k 3 -r | head -n 20
这个命令会列出前20个CPU使用率最高的进程。
top -b -n1|grep java | awk '{print $1}' | xargs ps -p
这将给出CPU占用率最高的Java进程的PID以及其他相关信息。
top -n 1 -b -p $(pgrep java) | head -n 12
这个命令会列出当前CPU占用率最高的Java进程的PID,CPU占用率以及内存使用情况等信息。
top -b -n1 -c | grep java | awk '{print $1}'
这个命令会输出CPU占用率最高的Java进程的PID。