問題引入:在工作中會遇到某個程式占用cpu高或者不響應請求等問題,對於這類問題的排查首先考慮程式中是不是有執行緒阻塞。
首先,使用ps檢視程式的程序號。
[root@joe ~]# ps -ef|grep programname
root 11694 11607 1 nov11 ? 00:12:51 ./programname
第二、可以使用pstack查詢程式的棧跟蹤
[root@joe ~]# pstack 11694
儲存兩次列印的棧跟蹤資訊,並比較分析
[root@joe ~]# pstack 11694 > one
[root@joe ~]# pstack 11694 > two
[root@joe ~]# diff one two
第三、使用strace跟蹤程序執行時的系統呼叫和所接收的訊號
[root@joe ~]# strace -p 11694
知識點延伸:
在排查這些問題時,還可能會使用top,netstat -anp等。
linux系統基本排查
1.檢視記憶體使用情況 free g當觀察到free欄已為0的時候,表示記憶體基本被吃完了,那就釋放記憶體吧。釋放記憶體 sync echo 3 proc sys vm drop cachessync表示將記憶體快取區內容立即同步到磁碟,為了保證安全可以多執行幾次。2.檢視磁碟使用情況 df h當發...
linux系統基本排查
1.檢視記憶體使用情況 free g當觀察到free欄已為0的時候,表示記憶體基本被吃完了,那就釋放記憶體吧。釋放記憶體 sync echo 3 proc sys vm drop cachessync表示將記憶體快取區內容立即同步到磁碟,為了保證安全可以多執行幾次。2.檢視磁碟使用情況 df h當發...
Linux入侵問題排查
1.1.1 檢查伺服器系統及應用賬戶是否存在弱口令 解決方法 以管理員許可權登入系統或應用程式後台,修改為複雜的密碼 風險性 高 1.1.2 使用 last 命令檢視下伺服器近期登入的賬戶記錄,確認是否有可疑ip登入過機器 1.1.3 通過 less var log secure grep acce...