首先使用top指令檢視cpu使用情況

屬性釋義:
PID - 程序标示号
USER - 程序所有者
PR - 程序優先級
NI - 程序優先級别數值
VIRT - 程序占用的虛拟記憶體值
RES - 程序占用的實體記憶體值
SHR - 程序使用的共享記憶體值
S - 程序的狀态,其中S表示休眠,R表示正在運作,Z表示僵死
%CPU - 程序占用的CPU使用率
%MEM - 程序占用的實體記憶體百分比
TIME+ - 程序啟動後占用的總的CPU時間
Command - 程序啟動的啟動指令名稱
通過%cpu列就能看出cpu占用情況,現在找到罪魁禍首後就該殺的殺該關的關
關閉程序
執行top指令出現任務清單後,如果想關閉程序,直接按鍵盤上的K鍵
此時會讓你輸入想要關閉程序的pid(任務清單第一列,如果不輸入的話預設關閉排在第一的程序)
比如你想關閉上面圖檔中的“51466”程序,輸入54166後按回車
切記!
這裡輸入數字時注意不要按小鍵盤,要按鍵盤字母區上面的那排數字鍵;
比如我們要關閉pid為2的程序,輸入2後按回車,會出現以下提示,此時再按回車就ok
注意
如果執行top指令後,發現沒有cpu占用率較高的程序,這時候你就要看看load average
這裡會有三個數值
load average:0.98,1.37,1.48
釋義:
第一位表示最近1分鐘平均負載
第二位表示最近5分鐘平均負載
第三位表示最近15分鐘平均負載
數值分析
我們一般直接看第三位,如果不正常再去看前兩位,看下有沒有下降趨勢,這個值越大說明目前阻塞的任務越多
對于單核處理器來講,數值超過1就是不正常的
如果是多核處理器,一般來說數值數值也不會超過5,當然這個跟自己伺服器cpu核心數有關,你可以通過lscpu檢視自己的核心數(cpus列)
我的伺服器是56核,上面圖中能看到我的load average:0.98,1.37,1.48,這個值是5秒重新整理一次,我觀察了下,不會超過2,基本上處于0.8-1.8範圍内波動。
cpu高負載是由于目前等待執行的任務過多,一般就是因為某些任務依賴的服務挂了或者cpu資源不足,隻能通過恢複阻塞任務依賴的服務,或者直接重新開機來解決。。。