監控Linux系統資源與進程的工具
[非內部程序,需要安裝]它以一定的頻率記錄系統的運行狀態,所采集的數據包含系統資源(CPU、內存、磁盤和網絡)使用情況和進程運行情況,并能以日志文件的方式保存在磁盤中,服務器出現問題后,我們可獲取相應的atop日志文件進行分析。atop是一款開源軟件,我們可以從這里獲得其源碼和rpm安裝包。
atop(選項)(參數)
ATOP列:該列顯示了主機名、信息采樣日期和時間點
PRC列:該列顯示進程整體運行情況
CPU列:該列顯示CPU整體(即多核CPU作為一個整體CPU資源)的使用情況,我們知道CPU可被用于執行進程、處理中斷,也可處于空閑狀態(空閑狀態分兩種,一種是活動進程等待磁盤IO導致CPU空閑,另一種是完全空閑)
CPU列各個字段指示值相加結果為N00%,其中N為cpu核數。
cpu列:該列顯示某一核cpu的使用情況,各字段含義可參照CPU列,各字段值相加結果為100%
CPL列:該列顯示CPU負載情況
MEM列:該列指示內存的使用情況
SWP列:該列指示交換空間的使用情況
PAG列:該列指示虛擬內存分頁情況
swin、swout字段:換入和換出內存頁數
DSK列:該列指示磁盤使用情況,每一個磁盤設備對應一列,如果有sdb設備,那么增多一列DSK信息
NET列:多列NET展示了網絡狀況,包括傳輸層(TCP和UDP)、IP層以及各活動的網口信息
每個時間點采樣頁面組合起來就形成了一個atop日志文件,我們可以使用"atop -r XXX"命令對日志文件進行查看。那以什么形式保存atop日志文件呢?
對于atop日志文件的保存方式,我們可以這樣:
其實atop開發者已經提供了以上日志保存方式,相應的atop.daily腳本可以在源碼目錄下找到。在atop.daily腳本中,我們可以通過修改INTERVAL變量改變atop信息采樣周期(默認為10分鐘);通過修改以下命令中的數值改變日志保存天數(默認為28天):
(sleep 3; find $LOGPATH -name 'atop_*' -mtime +28 -exec rm {} \; )&
最后,我們修改cron文件,每天凌晨執行atop.daily腳本:
0 0 * * * root /etc/cron.daily/atop.daily