掌握 Linux 性能監(jiān)控神器:atop 實(shí)用指南
在Linux系統(tǒng)管理中,性能監(jiān)控是確保系統(tǒng)運(yùn)行平穩(wěn)的重要環(huán)節(jié)。atop是一款強(qiáng)大的性能監(jiān)控工具,可以提供詳細(xì)的系統(tǒng)性能數(shù)據(jù),包括CPU、內(nèi)存、磁盤(pán)和網(wǎng)絡(luò)的使用情況。本文將介紹如何安裝、配置和使用atop來(lái)監(jiān)控Linux系統(tǒng)的性能。

安裝atop
在絕大多數(shù)Linux發(fā)行版本中,atop工具能夠便捷地通過(guò)各自內(nèi)置的軟件包管理系統(tǒng)進(jìn)行安裝。
在Debian/Ubuntu上:
sudo apt update
sudo apt install atop在CentOS/RHEL上:
sudo yum install atopatop的配置
編輯配置文件,修改采樣周期。
[root@k8s-master ~]# cat /etc/sysconfig/atop
LOGOPTS=""
LOGINTERVAL=600        #監(jiān)控周期為600s,也就是每隔600s抓取一次數(shù)據(jù),一般我們修改為30
LOGGENERATIONS=28      #日志保留時(shí)間為28,一般我們?cè)O(shè)置為7天
LOGPATH=/var/log/atop  #日志路徑- LOGINTERVAL默認(rèn)是600,可以修改成30,單位秒。
 - 默認(rèn)atop日志保存周期為28天,可以根據(jù)實(shí)際修改LOGGENERATIONS的值為7,單位為天。
 
啟動(dòng)atop
安裝完成后,可以通過(guò)以下命令啟動(dòng)atop:
systemctl start atop檢查是否啟動(dòng)成功,active(running)表示運(yùn)行正常。如下圖所示:

理解atop的界面
如下圖所示,展示了一部分監(jiān)控指標(biāo)及其相應(yīng)數(shù)值。需要注意的是,這些數(shù)值會(huì)依據(jù)實(shí)際的采樣周期和所使用的atop軟件版本的不同而有所變化。

主要參數(shù)說(shuō)明如下:
- ATOP行:主機(jī)名、信息采樣日期和時(shí)間點(diǎn)。
 - PRC行:進(jìn)程整體運(yùn)行情況。
 - #sys及user:內(nèi)核態(tài)和用戶態(tài)所占 CPU 的時(shí)間值。
 - #proc:進(jìn)程總數(shù)。
 - #zombie:僵死進(jìn)程的數(shù)量。
 - #exit:采樣周期期間退出的進(jìn)程數(shù)量。
 - CPU行:CPU 整體(即多核 CPU 作為一個(gè)整體 CPU 資源)的使用情況。CPU 行的各字段數(shù)值相加結(jié)果為 N*100%,N 為 CPU 核數(shù)。
 - #sys及user:內(nèi)核態(tài)和用戶態(tài)所占 CPU 的時(shí)間比例。
 - #irq:CPU被用于處理中斷的時(shí)間比例。
 - #idle:CPU 處在完全空閑狀態(tài)的時(shí)間比例。
 - #wait:CPU處在進(jìn)程等待磁盤(pán) IO ,導(dǎo)致 CPU 空閑狀態(tài)的時(shí)間比例。
 - CPL行:CPU 負(fù)載情況。
 - #avg1、avg5和 avg15:過(guò)去1分鐘、5分鐘和15分鐘內(nèi)運(yùn)行隊(duì)列中的平均進(jìn)程數(shù)量。
 - #csw:指示上下文交換次數(shù)。
 - #intr:指示中斷發(fā)生次數(shù)。
 - MEM 行:內(nèi)存的使用情況。
 - #tot:物理內(nèi)存大小。
 - #free:空閑的物理內(nèi)存大小
 - #cache :用于頁(yè)緩存的內(nèi)存大小。
 - #buff:用于文件緩存的內(nèi)存大小。
 - #slab:系統(tǒng)內(nèi)核占用的內(nèi)存大小。
 - SWP行:交換空間的使用情況。
 - #tot:交換區(qū)總量。
 - #free:空閑交換空間大小。
 - DSK 行:磁盤(pán)使用情況,每一個(gè)磁盤(pán)設(shè)備對(duì)應(yīng)一列。如果有 sdb 設(shè)備,那么增加一行 DSK 信息。
 - #sda:磁盤(pán)設(shè)備標(biāo)識(shí)。
 - #busy:磁盤(pán)忙時(shí)比例。
 - #read 及 write:讀、寫(xiě)請(qǐng)求數(shù)量。
 - NET行:多列 NET 展示了網(wǎng)絡(luò)狀況,包括傳輸層(TCP 和 UDP)、IP 層以及各活動(dòng)的網(wǎng)口信息。
 - #xxxxxi:各層或活動(dòng)網(wǎng)口收包數(shù)目。
 - #xxxxxo:各層或活動(dòng)網(wǎng)口發(fā)包數(shù)目。
 
監(jiān)控歷史數(shù)據(jù)
atop還可以記錄歷史數(shù)據(jù),以便后續(xù)分析。記錄的文件通常存儲(chǔ)在/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要查看歷史數(shù)據(jù),可以使用以下命令:
atop -r /var/log/atop/atop_YYYYMMDD將YYYYMMDD替換為所需的日期。例如我要查看10月2號(hào),如下圖所示:
 atop -r /var/log/atop/atop_20241002
自定義atop的參數(shù)
可以通過(guò)命令行參數(shù)自定義atop的行為。例如:
- 使用-s參數(shù)可以設(shè)置刷新時(shí)間(單位為秒):
 
atop -s 5- 使用-P參數(shù)可以顯示特定的進(jìn)程信息,例如CPU或內(nèi)存使用:
 
atop -P CPU總結(jié)
atop是一款功能強(qiáng)大的Linux性能監(jiān)控工具,能夠提供實(shí)時(shí)和歷史的系統(tǒng)性能數(shù)據(jù)。通過(guò)合理配置和使用atop,系統(tǒng)管理員可以更好地監(jiān)控和優(yōu)化系統(tǒng)性能,提高系統(tǒng)的穩(wěn)定性和響應(yīng)速度。















 
 
 







 
 
 
 