- 相關(guān)推薦
Linux/AIX系統(tǒng)實用監(jiān)控命令
Linux/UNIX系統(tǒng)提供了一些有用的監(jiān)控命令如:iostat,vmstat,ps,sar,通過它們系統(tǒng)管理員可以方便地監(jiān)測系統(tǒng)資源是否平衡并解決性能問題。本文闡述了這些命令的使用方法,并以AIX系統(tǒng)為例附加應(yīng)用實例。為Linux/AIX系統(tǒng)管理員提供參考。
iostat
iostat命令主要通過物理磁盤的活躍時間及它們的平均傳輸速度,監(jiān)控系統(tǒng)輸入/輸出設(shè)備負載。根據(jù)iostat命令產(chǎn)生的報告,用戶可確定一個系統(tǒng)配置是否平衡,并據(jù)此在物理磁盤與適配器之間更好的平衡輸入/輸出負載,從而在用戶注意到服務(wù)器運行緩慢之前提早發(fā)現(xiàn)輸入/輸出緩慢的問題。
iostat工具的主要目的是通過監(jiān)控磁盤的利用率(tm_act字段),檢測系統(tǒng)的I/O瓶頸。此外,還可用于確定CPU問題,輔助容量規(guī)劃。vmstat和iostat聯(lián)合使用,可獲得與CPU,內(nèi)存和I/O子系統(tǒng)有關(guān)的性能問題的必需數(shù)據(jù)。
下圖是AIX系統(tǒng)iostat命令輸出:
iostat命令可產(chǎn)生如下四種類型的報告:
tty和CPU利用情況
磁盤利用情況
系統(tǒng)吞吐率
適配器吞吐率
% tm_act:物理磁盤活動的時間百分比
Kbps:某塊磁盤傳輸數(shù)據(jù)的總量(讀或?qū)?
tps:某塊物理磁盤每秒鐘 IO 傳輸?shù)臄?shù)量
Kb_read:從磁盤上讀取數(shù)據(jù)的總量
Kb_wrtn:寫入磁盤的數(shù)據(jù)總量
vmstat
vmstat命令報告關(guān)于核心線程,虛擬內(nèi)存,自陷(trap),磁盤以及CPU行為的統(tǒng)計。而且每種行為報告都被更細致地用百分比分別表示用戶態(tài)、核態(tài)、空閑以及等待磁盤I/O等情況。 內(nèi)核維持了對核心線程,換頁以及中斷行為的統(tǒng)計數(shù)據(jù),而vmstat命令則通過使用knlist子程序和/dev/kmen偽設(shè)備驅(qū)動器訪問這些數(shù)據(jù)。磁盤的輸入/輸出統(tǒng)計是通過設(shè)備驅(qū)動器維持的。對于磁盤,平均傳輸速度是通過使用活躍時間核傳輸信息數(shù)目決定的。而活躍時間百分比則是從報告期間驅(qū)動器忙的時間量計算出來的。
下圖是AIX系統(tǒng)vmstat命令輸出:
vmstat命令產(chǎn)生五種類型的報告:
虛存行為報告
fork子進程情況報告
每個設(shè)備產(chǎn)生的中斷情況報告
匯總報告
輸入/輸出行為報告
page:頁面調(diào)入調(diào)出的數(shù)量
wa:等待I/O的時間
avm:活動虛擬頁面,在進程運行中分配到工作段的頁面空間數(shù),單位為4K
fre:空閑列表的數(shù)量.一般不少于120,當fre少于120時,系統(tǒng)開始自動的kill進程去釋放free list
PS
ps命令是UNIX系統(tǒng)中最常見的命令,它主要顯示系統(tǒng)中關(guān)于進程的統(tǒng)計和狀態(tài)信息,如進程ID,I/O行為以及CPU利用率等。利用ps命令提供的信息,可決定一個進程運行了多長時間,進程使用了多少CPU時間,以及進程是否受系統(tǒng)的懲罰。還可用ps命令確定進程使用了多少內(nèi)存,完成多少I/O,進程的優(yōu)先級以及是誰創(chuàng)建了進程。下面這幾個命令組合對于管理AIX系統(tǒng)有幫助:
(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)按順序顯示系統(tǒng)中受罰的進程: #ps -eakl |head -1 ;ps -eakl |sort -rn +5
(4)按優(yōu)先級順序顯示系統(tǒng)中的進程: #ps -eakl |sort -n +6 |head
(5)按處理時間為順序顯示系統(tǒng)中的前十個進程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3 |head -10
(6)按實際內(nèi)存使用的多少順序顯示系統(tǒng)中的前十個進程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head -10
(7)按換入頁面的多少順序顯示系統(tǒng)中的前10個進程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10
下圖是AIX系統(tǒng)ps命令輸出:
sar
sar命令報告CPU的使用情況,I/O以及其它系統(tǒng)行為。sar命令可以收集,報告以及保存系統(tǒng)行為信息。如果沒有指定輸入文件,則sar調(diào)用sarc命令訪問系統(tǒng)數(shù)據(jù)。 用戶可用讓cron命令運行兩個shell腳本(/usr/lib/sa/sa1和/usr/lib/sa2)以提供日統(tǒng)計和報表。在crontab文件/var/spool/cron/crontabs/adm中包括了一些樣本節(jié),用于示范cron要在何時運行這些shell腳本。以這種方式收集到的數(shù)據(jù)對于確定系統(tǒng)的時間周期特征和決定峰值使用時間是有用的。但要注意的是,sar命令自己運行時會產(chǎn)生相當數(shù)量的讀寫。因此最好在沒有工作量的情況下運行sar統(tǒng)計,看看sar對總的統(tǒng)計數(shù)字有多大的影響。
顯示內(nèi)容包括:
%usr:CPU處在用戶模式下的時間百分比
%sys:CPU處在系統(tǒng)模式下的時間百分比
%wio:CPU等待輸入輸出完成時間的百分比
%idle:CPU空閑時間百分比
physc:消耗物理處理器的數(shù)目,只在共享處理器或啟用同時多線程的分區(qū)上報告
在所有的顯示中,我們應(yīng)主要注意%wio和%idle,%wio的值過高,表示硬盤存在I/O瓶頸,%idle值高,表示CPU較空閑,如果%idle值高但系統(tǒng)響應(yīng)慢時,有可能是CPU等待分配內(nèi)存,此時應(yīng)加大內(nèi)存容量。%idle值如果持續(xù)低于10,那么系統(tǒng)的CPU處理能力相對較低,表明系統(tǒng)中最需要解決的資源是CPU。
【Linux/AIX系統(tǒng)監(jiān)控命令】相關(guān)文章:
Linux系統(tǒng)監(jiān)控要用到哪些命令08-07
Linux系統(tǒng)監(jiān)控常用命令08-23
linux系統(tǒng)命令11-23
linux系統(tǒng)命令(經(jīng)典)01-25
Linux系統(tǒng)命令及使用技巧08-31
Linux系統(tǒng)的基本命令講解08-10
LINUX系統(tǒng)教程:passwd命令的用法08-08