AIX
效能調優-記憶體、CPU篇
sar -P ALL cpu使用方式
sar -a 檔案訪問情況
dirblk/s 定位檔案時被目錄訪問守護進程讀取的快(512b)的個數
iget/s i節點尋找系統進程被調用次數
lookuppn/s 目錄尋找進程找到v節點,並擷取路徑名的次數
sar -b buffer的活動情況,包括傳輸、訪問、和命中率
bread/s、bwrit/s 塊IO操作的數量
lread/s、lwrit/s 邏輯 IO請求的個數
pread/s、pwrit/s 裸裝置IO運算元量
%rcache、%rwrit cache命中率,計算共式為:((lreads-breads)/lreads)*100
sar -c 系統調用情況
exec/s、fork/s 調用和執行系統調用總數
sread/s、swrit/s read/writ 系統調用次數
rchar/s、wchar/s 被read/writ系統調用的字元數量
scall/s 系統調用總數
sar -k 核心進程活動情況
kexit/s 中斷的核心進程數
kproc-ov/s 由於進程數的限制無法建立核心進程的次數
ksched/s 被作業指派的核心進程數
sar -m 訊息佇列和號誌活動情況
msg/s IPC訊息佇列活動情況
sema/s 號誌活動情況
sar -d 磁碟讀寫情況
sar -q 隊列統計資訊
run-sz 核心線程處於運行隊列的平均數
%runocc 最近時間段運行隊列佔用百分比
swpq-sz 核心線程等待 頁面調度的平均數
%swpocc 交換隊列最近活動情況
sar -r 頁面調度資訊
cycle/s 每秒中頁面置換次數
fault/s 每秒中page fault次數
slots 在頁空間中空閑頁數量
odio/s 每秒中不使用頁面空間的磁碟io數
sar -v 進程、核心線程、i節點、和檔案表 的狀態
sar-w 環境切換次數
sar -y tty裝置活動情況
canch/s tty輸入隊列中規範的字元數
mdmin/s tty modem 中斷
outch/s 輸出隊列字元數
rawch/s 輸入隊列字元數
revin/s tty接收中斷
xmtin/s tty傳輸中斷
如果CPU的使用率接近100%(usr+system),可以視為是CPU瓶頸。而如果相當大的時間都花費在IO等待上,那就意味著cpu執行受到了磁碟IO的限制,
而IO瓶頸可能來自於檔案訪問或者沒有足夠的記憶體來分配頁面。
注意:系統花費在等待遠程檔案訪問的時間不會記入io 等待時間,如果CPU和IO等待的時間都相當的低,但是回應時間又不是很滿意,那應該確認系統
花費多少時間在等待遠程io,一直一來aix下沒有命令對遠程io進行分析,只能通過跟蹤資料來觀察。
vmstat
vmstat命令報告核心線程,虛擬記憶體、磁碟、陷阱、和CPU活動情況。
Kthr 線程活動情況
r 運行隊列
b 等待隊列
memory 虛擬和實際記憶體使用量情況
avm 活動的虛擬頁面
fre 閒置頁面,當系統記憶體大於64MB時,最小值MINFREE為120frames,當記憶體小於64MB時,最小值為記憶體以MB計的兩倍
MINFREE和MAXFREE值可以通過vmtune命令來查看
page page fault和page活動情況,當在記憶體裡分配一個頁面時(非NFS或者永久檔案頁面),其被視為工作頁面,工作頁面通常包括應用堆棧、
資料和其他的共用記憶體段。因此當一個程式棧或者資料區域需要增長時,記憶體會被被訪問,vvm會從ram和頁面空間所在裝置分配空間。這就意味著
在記憶體耗盡之前,頁面空間會被使用。
re 頁面輸入輸出資料行表,每秒中記憶體回收數量,當頁面處於空閑列表且沒有被再利用,它就會被回收應為沒有新的IO會初始化它,也包括那些沒有完成的IO操作但又被VMM使用
預先讀取演算法調入記憶體的頁面。
pi 從頁面空間page in的頁面
po 從頁面空間page out的頁面
fr 頁面空閑(頁面重設)
sr 頁面被頁面調度演算法掃描次數
cy 頁面調度演算法進行調度的刻度
faults 陷阱和系統中斷率
in 裝置中斷
sy 系統調用
cs 核心線程環境切換
CPU cpu使用方式
usr 使用者進程
sys 系統進程
id cpu空閑時間
wa 等待磁碟IO時間
準則:
r<5,b≈0,
如果fre<MINFREE,將會出現連續不斷的頁面調度,將導致系統效能問題。
對於page列,re,pi,po,cy維持於比較穩定的狀態,PI率不超過5,如果有pagin發生,那麼關聯頁面必須先進行pageout
在記憶體相對緊張的環境下pagein會強制對不同的頁面進行steal操作。如果系統正在讀一個大批的永久頁面,你也許可以看到po和pi列
會出現不一致的增長,這種情景並不一定表明系統負載過重,但是有必要對應用程式的資料訪問模式進行見檢查。在穩定的情況下,掃描率和重設率幾乎相等,在
多個進程處理使用不同的頁面的情況下,頁面會更加不穩定和雜亂,這時掃描率可能會比重設率高出。
faults列,in,sy,cs會不斷跳躍,這裡沒有明確的限制,唯一的就是這些值最少大於100
cpu列,us,sys,id和wa也是不確定的,最理想的狀態是使cpu處於100%工作狀態,單這隻適合單使用者的情況下。
如果在多使用者環境中us+sys》80,進程就會在運行隊列中花費等待時間,回應時間和輸送量就會下降。wa>40表明磁碟io沒有也許存在不合理的平衡,或者對磁碟操作比較頻繁,
TAG: 效能調優