1. 程式人生 > >找出占用高的進程

找出占用高的進程

stat roc 進程pid 輸出 一次 read tid pan vpd

1.找出僵屍進程
ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]‘

-A 參數列出所有進程
-o 自定義輸出字段,我們設定顯示字段為stat(狀態),ppid(父進程pid),pid(進程pid),cmd(命令行)這四個參數
因為狀態為 z 或者 Z的進程為僵屍進程,所以我們使用grep 抓取stat 狀態為zZ進程;

運行後,在此運行ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]‘ 來確認是否將僵屍進程殺死;
如果kill 子進程的無效,可以嘗試kill 其父進程來解決問題,例如上面父進程pid 為12334,那麽我們就運行 kill -HUP 12334 來解決問題

2.找出cup占用高的進程
ps -aux --sort -pcpu | less
-pcpu 可以顯示出進程絕對路徑,方便找出×××程序運行的路徑
查看是否有異常進程技術分享圖片

ll /proc/28311/exe
查看這個程序調用的服務
技術分享圖片

3.查看某個進程線程的cpu占用率
ps -mp 30180 -o THREAD,tid,time

4.查看某個命令是不是被篡改了
在這個命令調用的情況下 ps aux|grep ps
如果發現這個命令路徑不對了,則被篡改了

5.top常用使用
top -b -n 2 > /root/pan_work/top.txt 輸出兩次top信息
top -d 5 5秒輸出一次

找出占用高的進程