掌握 Linux 性能監控神器:atop 實用指南
在Linux系統管理中,性能監控是確保系統運行平穩的重要環節。atop是一款強大的性能監控工具,可以提供詳細的系統性能數據,包括CPU、內存、磁盤和網絡的使用情況。本文將介紹如何安裝、配置和使用atop來監控Linux系統的性能。
安裝atop
在絕大多數Linux發行版本中,atop工具能夠便捷地通過各自內置的軟件包管理系統進行安裝。
在Debian/Ubuntu上:
sudo apt update
sudo apt install atop
在CentOS/RHEL上:
sudo yum install atop
atop的配置
編輯配置文件,修改采樣周期。
[root@k8s-master ~]# cat /etc/sysconfig/atop
LOGOPTS=""
LOGINTERVAL=600 #監控周期為600s,也就是每隔600s抓取一次數據,一般我們修改為30
LOGGENERATIONS=28 #日志保留時間為28,一般我們設置為7天
LOGPATH=/var/log/atop #日志路徑
- LOGINTERVAL默認是600,可以修改成30,單位秒。
- 默認atop日志保存周期為28天,可以根據實際修改LOGGENERATIONS的值為7,單位為天。
啟動atop
安裝完成后,可以通過以下命令啟動atop:
systemctl start atop
檢查是否啟動成功,active(running)表示運行正常。如下圖所示:
理解atop的界面
如下圖所示,展示了一部分監控指標及其相應數值。需要注意的是,這些數值會依據實際的采樣周期和所使用的atop軟件版本的不同而有所變化。
主要參數說明如下:
- ATOP行:主機名、信息采樣日期和時間點。
- PRC行:進程整體運行情況。
- #sys及user:內核態和用戶態所占 CPU 的時間值。
- #proc:進程總數。
- #zombie:僵死進程的數量。
- #exit:采樣周期期間退出的進程數量。
- CPU行:CPU 整體(即多核 CPU 作為一個整體 CPU 資源)的使用情況。CPU 行的各字段數值相加結果為 N*100%,N 為 CPU 核數。
- #sys及user:內核態和用戶態所占 CPU 的時間比例。
- #irq:CPU被用于處理中斷的時間比例。
- #idle:CPU 處在完全空閑狀態的時間比例。
- #wait:CPU處在進程等待磁盤 IO ,導致 CPU 空閑狀態的時間比例。
- CPL行:CPU 負載情況。
- #avg1、avg5和 avg15:過去1分鐘、5分鐘和15分鐘內運行隊列中的平均進程數量。
- #csw:指示上下文交換次數。
- #intr:指示中斷發生次數。
- MEM 行:內存的使用情況。
- #tot:物理內存大小。
- #free:空閑的物理內存大小
- #cache :用于頁緩存的內存大小。
- #buff:用于文件緩存的內存大小。
- #slab:系統內核占用的內存大小。
- SWP行:交換空間的使用情況。
- #tot:交換區總量。
- #free:空閑交換空間大小。
- DSK 行:磁盤使用情況,每一個磁盤設備對應一列。如果有 sdb 設備,那么增加一行 DSK 信息。
- #sda:磁盤設備標識。
- #busy:磁盤忙時比例。
- #read 及 write:讀、寫請求數量。
- NET行:多列 NET 展示了網絡狀況,包括傳輸層(TCP 和 UDP)、IP 層以及各活動的網口信息。
- #xxxxxi:各層或活動網口收包數目。
- #xxxxxo:各層或活動網口發包數目。
監控歷史數據
atop還可以記錄歷史數據,以便后續分析。記錄的文件通常存儲在/var/log/atop/目錄中。如下所示:
root@didiplus:~# ls -lh /var/log/atop/
total 460M
-rw-r--r-- 1 root root 53M Oct 3 00:00 atop_20241002
-rw-r--r-- 1 root root 47M Oct 4 00:00 atop_20241003
-rw-r--r-- 1 root root 51M Oct 5 00:00 atop_20241004
-rw-r--r-- 1 root root 66M Oct 6 00:00 atop_20241005
-rw-r--r-- 1 root root 50M Oct 7 00:00 atop_20241006
-rw-r--r-- 1 root root 54M Oct 8 00:00 atop_20241007
-rw-r--r-- 1 root root 62M Oct 9 00:00 atop_20241008
-rw-r--r-- 1 root root 57M Oct 10 00:00 atop_20241009
-rw-r--r-- 1 root root 24M Oct 10 10:41 atop_20241010
要查看歷史數據,可以使用以下命令:
atop -r /var/log/atop/atop_YYYYMMDD
將YYYYMMDD替換為所需的日期。例如我要查看10月2號,如下圖所示:
atop -r /var/log/atop/atop_20241002
自定義atop的參數
可以通過命令行參數自定義atop的行為。例如:
- 使用-s參數可以設置刷新時間(單位為秒):
atop -s 5
- 使用-P參數可以顯示特定的進程信息,例如CPU或內存使用:
atop -P CPU
總結
atop是一款功能強大的Linux性能監控工具,能夠提供實時和歷史的系統性能數據。通過合理配置和使用atop,系統管理員可以更好地監控和優化系統性能,提高系統的穩定性和響應速度。