Linux命令 atop -監(jiān)控Linux系統(tǒng)資源與進(jìn)程的工具

2021-10-28 09:54 更新

atop

監(jiān)控Linux系統(tǒng)資源與進(jìn)程的工具

補(bǔ)充說明

[非內(nèi)部程序,需要安裝]它以一定的頻率記錄系統(tǒng)的運(yùn)行狀態(tài),所采集的數(shù)據(jù)包含系統(tǒng)資源(CPU、內(nèi)存、磁盤和網(wǎng)絡(luò))使用情況和進(jìn)程運(yùn)行情況,并能以日志文件的方式保存在磁盤中,服務(wù)器出現(xiàn)問題后,我們可獲取相應(yīng)的atop日志文件進(jìn)行分析。atop是一款開源軟件,我們可以從這里獲得其源碼和rpm安裝包(也可以使用apt-get進(jìn)行安裝)。

語法

atop(選項(xiàng))(參數(shù))

說明

ATOP列:該列顯示了主機(jī)名、信息采樣日期和時(shí)間點(diǎn)

PRC列:該列顯示進(jìn)程整體運(yùn)行情況

  • sys、usr字段分別指示進(jìn)程在內(nèi)核態(tài)和用戶態(tài)的運(yùn)行時(shí)間
  • #proc字段指示進(jìn)程總數(shù)
  • #zombie字段指示僵死進(jìn)程的數(shù)量
  • #exit字段指示atop采樣周期期間退出的進(jìn)程數(shù)量

CPU列:該列顯示CPU整體(即多核CPU作為一個(gè)整體CPU資源)的使用情況,我們知道CPU可被用于執(zhí)行進(jìn)程、處理中斷,也可處于空閑狀態(tài)(空閑狀態(tài)分兩種,一種是活動(dòng)進(jìn)程等待磁盤IO導(dǎo)致CPU空閑,另一種是完全空閑)

  • sys、usr字段指示CPU被用于處理進(jìn)程時(shí),進(jìn)程在內(nèi)核態(tài)、用戶態(tài)所占CPU的時(shí)間比例
  • irq字段指示CPU被用于處理中斷的時(shí)間比例
  • idle字段指示CPU處在完全空閑狀態(tài)的時(shí)間比例
  • wait字段指示CPU處在“進(jìn)程等待磁盤IO導(dǎo)致CPU空閑”狀態(tài)的時(shí)間比例

CPU列各個(gè)字段指示值相加結(jié)果為N00%,其中N為cpu核數(shù)。

cpu列:該列顯示某一核cpu的使用情況,各字段含義可參照CPU列,各字段值相加結(jié)果為100%

CPL列:該列顯示CPU負(fù)載情況

  • avg1、avg5和avg15字段:過去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字段指示用于頁緩存的內(nèi)存大小
  • buff字段指示用于文件緩存的內(nèi)存大小
  • slab字段指示系統(tǒng)內(nèi)核占用的內(nèi)存大小

SWP列:該列指示交換空間的使用情況

  • tot字段指示交換區(qū)總量
  • free字段指示空閑交換空間大小

PAG列:該列指示虛擬內(nèi)存分頁情況

swin、swout字段:換入和換出內(nèi)存頁數(shù)

DSK列:該列指示磁盤使用情況,每一個(gè)磁盤設(shè)備對應(yīng)一列,如果有sdb設(shè)備,那么增多一列DSK信息

  • sda字段:磁盤設(shè)備標(biāo)識(shí)
  • busy字段:磁盤忙時(shí)比例
  • read、write字段:讀、寫請求數(shù)量

NET列:多列NET展示了網(wǎng)絡(luò)狀況,包括傳輸層(TCP和UDP)、IP層以及各活動(dòng)的網(wǎng)口信息

  • XXXi 字段指示各層或活動(dòng)網(wǎng)口收包數(shù)目
  • XXXo 字段指示各層或活動(dòng)網(wǎng)口發(fā)包數(shù)目

atop日志

每個(gè)時(shí)間點(diǎn)采樣頁面組合起來就形成了一個(gè)atop日志文件,我們可以使用"atop -r XXX"命令對日志文件進(jìn)行查看。那以什么形式保存atop日志文件呢?

對于atop日志文件的保存方式,我們可以這樣:

  • 每天保存一個(gè)atop日志文件,該日志文件記錄當(dāng)天信息
  • 日志文件以"atop_YYYYMMDD"的方式命名
  • 設(shè)定日志失效期限,自動(dòng)刪除一段時(shí)間前的日志文件

其實(shí)atop開發(fā)者已經(jīng)提供了以上日志保存方式,相應(yīng)的atop.daily腳本可以在源碼目錄下找到。在atop.daily腳本中,我們可以通過修改INTERVAL變量改變atop信息采樣周期(默認(rèn)為10分鐘);通過修改以下命令中的數(shù)值改變?nèi)罩颈4嫣鞌?shù)(默認(rèn)為28天):

(sleep 3; find $LOGPATH -name 'atop_*' -mtime +28 -exec rm {} \; )& 

最后,我們修改cron文件,每天凌晨執(zhí)行atop.daily腳本:

0 0 * * * root /etc/cron.daily/atop.daily

相關(guān)資料


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號