天天看點

Linux故障排查

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

Linux故障排查

屬性釋義:

PID - 程序标示号

USER - 程序所有者

PR - 程序優先級

NI - 程序優先級别數值

VIRT - 程序占用的虛拟記憶體值

RES - 程序占用的實體記憶體值

SHR - 程序使用的共享記憶體值

S - 程序的狀态,其中S表示休眠,R表示正在運作,Z表示僵死

%CPU - 程序占用的CPU使用率

%MEM - 程序占用的實體記憶體百分比

TIME+ - 程序啟動後占用的總的CPU時間

Command - 程序啟動的啟動指令名稱

通過%cpu列就能看出cpu占用情況,現在找到罪魁禍首後就該殺的殺該關的關

關閉程序

執行top指令出現任務清單後,如果想關閉程序,直接按鍵盤上的K鍵

Linux故障排查

此時會讓你輸入想要關閉程序的pid(任務清單第一列,如果不輸入的話預設關閉排在第一的程序)

比如你想關閉上面圖檔中的“51466”程序,輸入54166後按回車

切記!

這裡輸入數字時注意不要按小鍵盤,要按鍵盤字母區上面的那排數字鍵;

比如我們要關閉pid為2的程序,輸入2後按回車,會出現以下提示,此時再按回車就ok

Linux故障排查

注意

如果執行top指令後,發現沒有cpu占用率較高的程序,這時候你就要看看load average

Linux故障排查

這裡會有三個數值

load average:0.98,1.37,1.48

釋義:

第一位表示最近1分鐘平均負載

第二位表示最近5分鐘平均負載

第三位表示最近15分鐘平均負載

數值分析

我們一般直接看第三位,如果不正常再去看前兩位,看下有沒有下降趨勢,這個值越大說明目前阻塞的任務越多

對于單核處理器來講,數值超過1就是不正常的

如果是多核處理器,一般來說數值數值也不會超過5,當然這個跟自己伺服器cpu核心數有關,你可以通過lscpu檢視自己的核心數(cpus列)

Linux故障排查

我的伺服器是56核,上面圖中能看到我的load average:0.98,1.37,1.48,這個值是5秒重新整理一次,我觀察了下,不會超過2,基本上處于0.8-1.8範圍内波動。

cpu高負載是由于目前等待執行的任務過多,一般就是因為某些任務依賴的服務挂了或者cpu資源不足,隻能通過恢複阻塞任務依賴的服務,或者直接重新開機來解決。。。

繼續閱讀