atop就是一款用於監控Linux系統資源與進程的工具,它以一定的頻率記錄系統的運行狀態,所采集的數據包含系統資源(CPU、內存、磁盤和網絡)使用情況和進程運行情況,並能以日志文件的方式保存在磁盤中,服務器出現問題后,我們可獲取相應的atop日志文件進行分析。
系統會在/var/log/atop目錄下記錄atop日志文件。
Atop常用快捷鍵:
讀取atop日志文件:atop -r XXX
前進翻頁:t
后退翻頁:T
進程列表前進翻頁:Ctrl+f
進程列表后退翻頁:Ctrl+b
按時間跳轉:b
Enter new time(format hh:mm):
按hh:mm格式輸入時間
atop輸出文件進程列表中,具有<>標示的進程是指在采樣間隔中啟動並且退出的進程。其中的ST和EXC列說明進程退出狀態和進程退出碼。
進程視圖:
g —— 默認輸出,進程列表以cpu占用率排序。
m —— 進程列表以內存占用率排序。
d —— 磁盤相關輸出
n —— 網絡相關輸出
c —— 進程列顯示完整的命令行。
s ——進程列表顯示進程的線程數量。TRUN--running TSLPI--interruptible sleeping TSLPU--uninterruptible sleeping
v ——進程列表顯示進程的PPID(父進程)。
看進程的啟動和停止時間,以及進程退出結果碼(EXC列),EXC=9是被人殺掉的
U ——輸入用戶名 按用戶時間查看
P ——輸入進程名 按進程查看
退出atop: q
將atop的記錄導出文本:
atop -r /var/log/atop/atop_slot10_suse10sp2_20120622 -b 04:00 -e 16:10>>atop_log.txt
上述命令可以用一個命令使用,將atop信息重定向到一個文件中,例如:
atop -v -b 01:00 -e 01:05 atop_linux_20160119>my.log
atop看CPU的空閑率:
atop -PCPU -r atop_linux_20160119|grep -v SEP|grep -v RESET|awk -F " " '{print $4,$5,$12/($9+$10+$11+$12+$13)*100"%"}'