當前位置:學者齋 >

計算機 >作業系統 >

Linux/AIX系統實用監控命令

Linux/AIX系統實用監控命令

Linux/UNIX系統提供了一些有用的監控命令如:iostat,vmstat,ps,sar,通過它們系統管理員可以方便地監測系統資源是否平衡並解決效能問題。本文闡述了這些命令的使用方法,並以AIX系統為例附加應用例項。為Linux/AIX系統管理員提供參考。

Linux/AIX系統實用監控命令

  iostat

iostat命令主要通過物理磁碟的活躍時間及它們的平均傳輸速度,監控系統輸入/輸出裝置負載。根據iostat命令產生的報告,使用者可確定一個系統配置是否平衡,並據此在物理磁碟與介面卡之間更好的平衡輸入/輸出負載,從而在使用者注意到伺服器執行緩慢之前提早發現輸入/輸出緩慢的問題。

iostat工具的主要目的是通過監控磁碟的利用率(tm_act欄位),檢測系統的I/O瓶頸。此外,還可用於確定CPU問題,輔助容量規劃。vmstat和iostat聯合使用,可獲得與CPU,記憶體和I/O子系統有關的效能問題的必需資料。

下圖是AIX系統iostat命令輸出:

iostat命令可產生如下四種類型的報告:

tty和CPU利用情況

磁碟利用情況

系統吞吐率

介面卡吞吐率

% tm_act:物理磁碟活動的時間百分比

Kbps:某塊磁碟傳輸資料的總量(讀或寫)

tps:某塊物理磁碟每秒鐘 IO 傳輸的數量

Kb_read:從磁碟上讀取資料的總量

Kb_wrtn:寫入磁碟的資料總量

  vmstat

vmstat命令報告關於核心執行緒,虛擬記憶體,自陷(trap),磁碟以及CPU行為的統計。而且每種行為報告都被更細緻地用百分比分別表示使用者態、核態、空閒以及等待磁碟I/O等情況。 核心維持了對核心執行緒,換頁以及中斷行為的統計資料,而vmstat命令則通過使用knlist子程式和/dev/kmen偽裝置驅動器訪問這些資料。磁碟的輸入/輸出統計是通過裝置驅動器維持的。對於磁碟,平均傳輸速度是通過使用活躍時間核傳輸資訊數目決定的。而活躍時間百分比則是從報告期間驅動器忙的時間量計算出來的。

下圖是AIX系統vmstat命令輸出:

vmstat命令產生五種型別的報告:

虛存行為報告

fork子程序情況報告

每個裝置產生的中斷情況報告

彙總報告

輸入/輸出行為報告

page:頁面調入調出的數量

wa:等待I/O的時間

avm:活動虛擬頁面,在程序執行中分配到工作段的頁面空間數,單位為4K

fre:空閒列表的數量.一般不少於120,當fre少於120時,系統開始自動的kill程序去釋放free list

  PS

ps命令是UNIX系統中最常見的命令,它主要顯示系統中關於程序的統計和狀態資訊,如程序ID,I/O行為以及CPU利用率等。利用ps命令提供的資訊,可決定一個程序運行了多長時間,程序使用了多少CPU時間,以及程序是否受系統的懲罰。還可用ps命令確定程序使用了多少記憶體,完成多少I/O,程序的優先順序以及是誰建立了程序。下面這幾個命令組合對於管理AIX系統有幫助:

(1)顯示10個消耗CPU最多的程序: # ps aux |head -1 ;ps aux |sort -rn +2 |head -10

(2)顯示10個消耗儲存空間最多的程序: # ps aux |head -1 ;ps aux |sort -rn +3 |head -10

(3)按順序顯示系統中受罰的程序: #ps -eakl |head -1 ;ps -eakl |sort -rn +5

(4)按優先順序順序顯示系統中的程序: #ps -eakl |sort -n +6 |head

(5)按處理時間為順序顯示系統中的前十個程序: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3 |head -10

(6)按實際記憶體使用的多少順序顯示系統中的前十個程序: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head -10

(7)按換入頁面的多少順序顯示系統中的`前10個程序: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10

下圖是AIX系統ps命令輸出:

  sar

sar命令報告CPU的使用情況,I/O以及其它系統行為。sar命令可以收集,報告以及儲存系統行為資訊。如果沒有指定輸入檔案,則sar呼叫sarc命令訪問系統資料。 使用者可用讓cron命令執行兩個shell指令碼(/usr/lib/sa/sa1和/usr/lib/sa2)以提供日統計和報表。在crontab檔案/var/spool/cron/crontabs/adm中包括了一些樣本節,用於示範cron要在何時執行這些shell指令碼。以這種方式收集到的資料對於確定系統的時間週期特徵和決定峰值使用時間是有用的。但要注意的是,sar命令自己執行時會產生相當數量的讀寫。因此最好在沒有工作量的情況下執行sar統計,看看sar對總的統計數字有多大的影響。

  顯示內容包括:

%usr:CPU處在使用者模式下的時間百分比

%sys:CPU處在系統模式下的時間百分比

%wio:CPU等待輸入輸出完成時間的百分比

%idle:CPU空閒時間百分比

physc:消耗物理處理器的數目,只在共享處理器或啟用同時多執行緒的分割槽上報告

在所有的顯示中,我們應主要注意%wio和%idle,%wio的值過高,表示硬碟存在I/O瓶頸,%idle值高,表示CPU較空閒,如果%idle值高但系統響應慢時,有可能是CPU等待分配記憶體,此時應加大記憶體容量。%idle值如果持續低於10,那麼系統的CPU處理能力相對較低,表明系統中最需要解決的資源是CPU。

  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-tw/jsj/caozuo/1kmn2.html