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