Aix vmstat命令解析
生活随笔
收集整理的這篇文章主要介紹了
Aix vmstat命令解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.1 Aix vmstat命令解析
1.1.1 概述
vmstat 命令報告內核線程、虛擬內存、磁盤、Traps、CPU 活動的統計數據。 AIX <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />4.3.2和更早版本中使用的方法如下:在每個處理器的每一次時鐘中斷(每個處理器一秒鐘 100 次),確定上一個 10 毫秒時間要歸入四種類別(usr/sys/wio/idle)中的哪一個。如果在時鐘中斷的時候,CPU 正忙于 usr 方式,那么 usr 將獲取該時鐘周期添加到其類別中。如果在時鐘中斷的時候,CPU 正忙于內核方式,那么 sys 類別獲取該時鐘周期。如果 CPU 不忙的話,則檢測是否有磁盤 I/O 正在進行。如果有任何正在進行的磁盤 I/ O,則累加 wio 類別。如果沒有磁盤 I/O 正在進行且 CPU 不忙,則 idle 類別獲取該時鐘周期。由于所有的空閑 CPU 都被歸入 wio 類別,而不管正在等待 I/O 的線程數量,所以會產生夸大的 wio 時間報告。例如,只有一個 I/O 線程的系統可能會報告 90% 以上的 wio 時間,而不管它擁有的 CPU 數量。sar(%wio)、vmstat(wa)和 iostat(% iowait)命令報告 wio 時間。 操作系統 AIX 4.3.3及其更新版本使用的方法如下:如果一個未完成的 I/O 在空閑的 CPU 上啟動,則操作系統 AIX 4.3.3 中的更改將只把該 CPU 標記成 wio。當只有少量線程在進行 I/O 而系統其它部分是空閑的,此方法能報告低得多的 wio 時間。例如,一個有四個 CPU 和一個正在進行 I/O 的線程的系統將報告最多 25% 的 wio 時間。有 12 個 CPU 和一個正在進行 I/O 的線程的系統只報告最大為 8% 的 wio 時間。NFS 客戶機通過 VMM 讀取/寫入,biods 在 VMM 中花費的等待 I/O 完成的時間現在報告為 I/O 等待時間。1.1.2 vmstat 命令報告輸出及其解析
# vmstat 1 3<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> System configuration: lcpu=8 mem=32000MB kthr??? memory????????????? page????????????? faults??????? cpu??? ----- ----------- ------------------------ ------------ ----------- ?r? b?? avm?? fre? re? pi? po? fr?? sr? cy? in?? sy? cs us sy id wa ?2? 0 3845546 16248?? 0?? 1?? 0?? 0??? 0?? 0 1299 25203 5285 40? 3 57? 0 ?1? 0 3845572 16220?? 0?? 0?? 0?? 0??? 0?? 0 966 15702 4526 25? 2 73? 0 ?0? 0 3845631 16159?? 0?? 0?? 0?? 0??? 0?? 0 1199 18302 4975 31? 2 66? 1 #1.1.2.1 Kthr: kernel thread state(內核線程狀態,表示每秒鐘在采樣間隔時間上對各種隊列的內核線程數求得的平均值)
r: 取樣期間可運行的內核線程的平均數,包括正在運行的線程和指準備運行但尚在等待運行的進程。如果這個數字大于CPU的數據,至少有一個線程要等待CPU,等待CPU的線程越多,越有可能產生性能影響 b:表示每秒VMM等待隊列中的內核線程平均數(等待資源或I/O),這里參考值為2,大于2表示被阻塞列線程數目太多。?1.1.2.2 Memory(包括虛擬內存和實際內存的信息)?
avm: 活動的虛擬頁面(Active virtual pages,以4k為單位),該值較高并不意味著性能不好。記住,虛擬內存的概念是提供給我們尋址大于實內存容量的能力(一些在 RAM 內存中,而另一些在調頁空間中)。但是如果虛擬內存遠大于實內存,可能造成過度的頁面調度,從而導致延時。如果 avm 小于 RAM,那么當 RAM 中填滿文件頁時就會引起調頁空間的頁面調度。這種情況下,調整 minperm、maxperm 和 maxclient 的值可以減少調頁空間的頁面調度量。 fre: 自由表(free list)的大小。真實內存的大部分被用作文件系統數據的緩存。因此,自由表(free list)的大小保持比較小并不稀奇。1.1.2.3 Page:頁面錯誤和分頁活動的信息。此值為指定時間周期內每秒給定單位的平均值。
re ?頁面調度程序(Pager)輸入輸出列表(input/output)列表。 pi ?表示每秒鐘從Paging Space置換到內存的頁數,調頁空間是駐留在磁盤上的虛擬內存的一部分。當內存過量使用時,它用作溢出。調頁空間由用于存儲從實內存中竊取到的工作組頁面的邏輯卷組成。當進程訪問一個竊取頁時,產生了一個缺頁故障,這一頁必須從調頁空間讀入內存。這里設置pi的參考值為5,大于5說明內存不足。 po ?表示每秒鐘從內存置換到Paging Space的頁數,無論什么時候竊取工作存儲器的一頁,如果它仍未駐留在調頁空間中或已被修改,那它會被寫入調頁空間。如果不被再次訪問,它會留在頁面調度設備中直到進程終止或放棄空間。如果包含在出故障頁面中的后續地址引用導致缺頁故障,那么這些頁面將會由系統個別調進。當一個進程正常終止,任何分配給該進程的調頁空間將被釋放。?[如果這兩列持續大于5,則系統的性能瓶頸很可能是內存不足,而導致交換頻繁。] fr ?表示每秒鐘頁面置換算法釋放的頁數。當 VMM 頁面替換例程掃描頁面幀表(Page Frame Table,PFT)時,它使用一些條件選取要竊取的頁面以插入到可用內存幀的空閑列表中。 sr ?表示每秒鐘頁面置換算法檢查的頁數,頁面替換算法在可以竊取足夠的頁面以滿足頁面替換線程的需要之前可能不得不掃描許多頁面幀。 cy ?頁面置換算法所使用的時鐘周期。即表示每秒頁面替換代碼掃描了 PFT 多少次。因為插入空閑列表可以不需要完全掃描 PFT,并且因為所有的 vmstat 字段報告為整數,這一字段通常為 0。?1.1.2.4 Faults 故障列:樣例時間周期中,每秒陷阱(Trap )和中斷率的平均值。
in ?設備中斷次數 ,iostat命令輸出更有參考意義。 sy ?系統調用次數 ,通過明確的系統調用,用戶進程可以使用資源。這些調用指示內核執行調用線程的操作,并在內核和該進程之間交換數據。因為工作負載和應用程序變化很大,不同的調用執行不同的功能,所以不可能定義每秒鐘有多少系統調用才算太多。這里設置參考值為10000,超過10000,用戶需要注意。 cs ?內核線程上下文交換 Kernel thread context switches.[即時間片用完后,再輪到時的上下文計算,如果太高,則要仔細觀察]1.1.2.5 ?CPU:CPU 使用時間百分比細目分類
us ?用戶進程CPU占用,一個 UNIX 進程可以在用戶方式下執行,也可以在系統(內核)方式下執行。當在用戶方式下時,進程在它自己的應用程序代碼中執行,不需要內核資源來進行計算、管理內存或設置變量。sy ?系統進程CPU占用 ,這包括內核進程(kprocs)和其它需要訪問內核資源的進程所消耗的 CPU 資源。如果一個進程需要內核資源,它必須執行一個系統調用,并由此切換到系統方式從而使該資源可用。例如,對一個文件的讀或寫操作需要內核資源來打開文件、尋找特定的位置,以及讀或寫數據,除非使用內存映射文件。這里us + sy的參考值為80%,如果us+sy 大于 80%說明可能存在CPU不足。 id ?系統空閑 CPU idle time
wa ?表示IO等待時間,即系統等待未完成的 disk/NFS I/O 請求期間的CPU 空閑時間, 如果us與sy之和持續超過90%時,CPU出現了瓶頸。 如果wa長期很高>50,則表示IO太忙,具體看是應用IO多,還是交換分頁多,如果是后者,則顯示內存不足;如果是前者,則應關注應用的IO性能狀況,優化應用與磁盤設備 pc ?消耗物理處理器的數目。只在使用共享處理器運行的分區顯示(只在微分區環境中顯示)ec ?消耗授權容量的百分比。只在使用共享處理器運行的分區顯示(只在微分區環境中顯示)
轉載于:https://blog.51cto.com/williamwu/130015
總結
以上是生活随笔為你收集整理的Aix vmstat命令解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一分钟!不写代码!给网站添加【统计分析】
- 下一篇: C++编程笔记:贪心算法实现活动安排问题