[zt] Linux及AIX 效能分析工具 - nmon

tolywang發表於2011-03-23

用法說明:這個 nmon 工具並未受到正式支援。沒有提供或隱含任何保證,並且您無法從 IBM 獲取相關的幫助。

nmon 工具執行於:

  • AIX® 4.1.5、4.2.0、4.3.2 和 4.3.3(nmon Version 9a:該版本的功能已經確定,並且不會對其進行進一步的開發。)
  • AIX 5.1、5.2 和 5.3(nmon Version 10:該版本現在支援 AIX 5.3 和基於 POWER5™ 處理器的計算機,並且提供了 SMT 和共享 CPU 微分割槽的支援。)
  • pSeries® p5 和 OpenPower™ 上的 Linux™ SUSE SLES 9、Red Hat EL 3 和 4、Debian
  • Linux SUSE、Red Hat 和許多最新的 x86(32 位模式的 Intel 和 AMD)上的釋出版
  • zSeries® 或 mainframe. 上的 Linux SUSE 和 Red Hat

nmon 工具大約每六個月更新一次,或者在可用的新的作業系統釋出版中對其進行更新。要將您的名字放入到請求更新的電子郵件列表中,請與 Nigel Griffiths 聯絡。

這個工具可以與 nmon 分析程式一同使用,後者將載入 nmon 的輸出檔案並自動地建立大量的圖形。

引言

nmon 工具可以為 AIX 和 Linux 效能專家提供監視和分析效能資料的功能,其中包括:

  • CPU 使用率
  • 記憶體使用情況
  • 核心統計資訊和執行佇列資訊
  • 磁碟 I/O 速度、傳輸和讀/寫比率
  • 檔案系統中的可用空間
  • 磁碟介面卡
  • 網路 I/O 速度、傳輸和讀/寫比率
  • 頁面空間和頁面速度
  • CPU 和 AIX 規範
  • 消耗資源最多的程式
  • IBM HTTP Web 快取
  • 使用者自定義的磁碟組
  • 計算機詳細資訊和資源
  • 非同步 I/O,僅適用於 AIX
  • 工作負載管理器 (WLM),僅適用於 AIX
  • IBM TotalStorage® Enterprise Storage Server® (ESS) 磁碟,僅適用於 AIX
  • 網路檔案系統 (NFS)
  • 動態 LPAR (DLPAR) 更改,僅適用於面向 AIX 或 Linux 的 pSeries p5 和 OpenPower

還包括一個用來從 nmon 的輸出生成圖形並建立可以在 Web 站點顯示的 .gif 檔案的新工具。

有關詳細資訊,請參閱自述檔案。


該工具的作用

nmon 工具可以幫助在一個螢幕上顯示所有重要的效能優化資訊,並動態地對其進行更新。這個高效的工具可以工作於任何啞螢幕、telnet 會話、甚至撥號線路。另外,它並不會消耗大量的 CPU 週期,通常低於百分之二。在更新的計算機上,其 CPU 使用率將低於百分之一。

使用啞螢幕,在螢幕上對資料進行顯示,並且每隔兩秒鐘對其進行更新。然而,您可以很容易地將這個時間間隔更改為更長或更短的時間段。如果您拉伸視窗,並在 X Windows、VNC、PuTTY 或類似的視窗中顯示這些資料,nmon 工具可以同時輸出大量的資訊。

nmon 工具還可以將相同的資料捕獲到一個文字檔案,便於以後對報告進行分析和繪製圖形。輸出檔案採用電子表格的格式 (.csv)。


安裝該工具

該工具是一個獨立的二進位制檔案(不同的 AIX 或 Linux 版本中該檔案也有所不同),您可以在五秒鐘內完成該工具的安裝,如果您的輸入速度更快的話,也許時間更短。安裝過程非常簡單:

  • nmonXXX.tar.Z 檔案複製到計算機。如果使用 FTP,請記住使用二進位制模式。
    注意:示例中的 XXX 由實際的版本代替。
  • 要解壓該檔案,可以執行 uncompress nmonXX.tar.Z
  • 要提取該檔案,可以執行 tar xvf nmonXX.tar
  • 閱讀自述檔案。
  • 要啟動 nmon 工具,輸入 nmon
  • 如果您是 root 使用者,可能需要輸入 ./nmon

使用 nmon 9 的附加說明,僅適用於 AIX 4

  1. 必須是 root 使用者,或者通過輸入下面的命令允許一般使用者讀取 /dev/kmem 檔案(作為 root 使用者):
    chmod ugo+r /dev/kmem

  2. 如果您需要磁碟統計資訊,還可以執行下面的命令(作為 root 使用者):
    chdev -l sys0 -a iostat=true 

如何以互動式的方式執行該工具

要以互動式的方式執行該工具,請閱讀該檔案前頁中的相關提示。然後啟動該工具,並使用單鍵命令來檢視您所需要的資料。例如,要獲取 CPU記憶體磁碟統計資訊,啟動 nmon 並輸入:

cmd

如何在以互動式的方式執行該工具的同時,獲取相關的幫助資訊

h 鍵。

附加幫助資訊

要獲取附加的幫助資訊,可以嘗試下列方法:

  • 輸入 nmon -? 命令以獲取簡短的詳細資訊。
  • 輸入 nmon -h 命令以獲取完整的詳細資訊。
  • 閱讀自述檔案。

如何將資料捕獲到檔案,便於以後進行分析和繪製圖形

執行帶 -f 標誌的 nmon 命令。有關詳細資訊,請參閱 nmon -h。但是作為示例,可以嘗試執行下面的 nmon 命令,在 1 小時內以 30 秒的時間間隔捕獲資料快照:

nmon -f -s 30 -c 120
nmon -fT -s 30 -c 120

第二行的命令還可以捕獲消耗資源最多的程式。這兩行命令都將在當前目錄中建立輸出檔案,其名稱為:

_date_time.nmon

該檔案採用逗號分隔值 (CSV) 的格式,並且可以將其直接匯入到電子表格中。如果您使用的是 Lotus® 1-2-3,那麼需要對該檔案進行排序。(對於 Excel 版本的 nmon 分析程式,則不需要進行這個操作。)在 AIX 中,請遵循下面的示例:

sort -A mymachine_311201_1030.nmon > xxx.csv

關於如何節省時間的說明:

  • 要將 nmon 資料捕獲檔案載入到電子表格,可以檢視電子表格文件中有關載入 CSV 資料檔案 (.csv) 的內容。許多電子表格可以接受該資料,作為可載入的檔案之一,或者提供完成這項任務的匯入函式。許多電子表格具有固定數目的列和行。我建議您最多收集 300 個快照,這樣就可以避免碰上這些問題。
  • 當您將資料捕獲到一個檔案中時,nmon 將斷開與Shell 的連線以確保它能夠連續執行,即使您在此過程中執行了登出操作。這意味著 nmon 可能出現故障,即使它仍然在後臺執行。要檢視該程式是否仍在執行,可以輸入:
    ps ?ef | grep nmon

  • 有關您的特定的作業系統上執行的 nmon 版本的詳細資訊,請閱讀自述檔案。
  • 面向 AIX 5 的 nmon Version 10 不再使用 /dev/kmem,僅使用一些公開的 API。因此,您不需要更改 /dev/kmem 的許可權,並且不需要使用 32 位和 64 位版本的 nmon
  • 對於 AIX 5.1、5.2 和 5.3,可以使用 nmon 10。
  • 從 ML03 AIX 中開始,不再報告 AIX 5.1 中的 lslpp -Lcq bos.?p 核心轉儲。另外,在升級到 AIX 5.2 ML5 後,Nigel Griffiths 忽略了 WLM 狀態資訊,而這些也是 AIX 錯誤。通過使用 nmon Version 10,可以避免這些問題。
  • 不要使用 Microsoft® Windows® Telnet 和大於 80 x 25 字元的視窗。許多開發人員使用 VNC 和 PuTTY 來顯示來自 Windows 計算機的 nmon,為什麼不使用相同的方法呢!


AIX Version 10 中的 nmon 的新特性

新特性 描述
啟動 目前還有一個稱為 "nmon" 的小型 Shell 指令碼,可以用來啟動適當的 nmon 版本。將該指令碼和 nmon 二進位制檔案放入到您的 $PATH 中,然後輸入:nmon。該版本目前僅在 32 位模式下進行了編譯。所以,它可以執行於 32 位和 64 位硬體。這是為了使它更容易安裝和執行。
N = NFS 對於 nmon 10 來說,NFS 是全新的特性。
p = 分割槽 (Partitions) 該特性是為了共享 CPU 分割槽資訊,這是 p5/AIX5.3 的重要特性。
C = CPU 這是為了支援使用 32 個以上 CPU 的計算機,最多可以根據需要達到 128 個邏輯 CPU。
c = CPU 如果您在 POWER5 上使用 AIX 5.3,並且處於共享 CPU 環境中,那麼該特性可以提供關於物理 CPU 使用的詳細資訊。
S = 子類 (Subclass) 該特性根據要求表示 WLM 的子類。
a = 磁碟介面卡 (Disk adapters) 提供磁碟介面卡的詳細資訊,比如它們的完整型別。
r = 資源 (Resources) 其中包括以 MHz 為單位的 CPU 速度。
k = 核心 (Kernel) 提供了一些新的欄位。
L = 大型頁面 (Large pages) 提供了大型頁面的狀態資訊,適用於追求高效能的使用者。
D = 磁碟 (Disk) 提供關於磁碟、磁碟型別大小、可用空間、卷組、介面卡等更詳細的資訊。
n = 網路 (Network) 提供關於網路介面卡、MTU 和相關錯誤的詳細資訊。
m = 記憶體 (Memory) 提供記憶體使用的更詳細的資訊,如系統(核心)和程式、活動虛擬記憶體。
-B 這是移除封裝的啟動選項。

AIX 5 的 nmon 10 的輸出示例

圖 1 是螢幕輸出的示例。它顯示了 AIX 5 的起始螢幕,以及大量有價值的資訊。


圖 1. AIX 5 的 nmon 10 的輸出示例
啟動

圖 2 說明了關於 CPU(這裡是 4 CPU 的 POWER5 計算機,並開啟了 SMT)、記憶體使用、核心內部統計和磁碟統計的詳細資訊。注意:這個邏輯分割槽 (LPAR) 佔用了一半 CPU 中其授權值的 6 倍。


圖 2. CPU 詳細資訊
CPU

圖 3 顯示了網路、NFS 統計資訊和日誌檔案系統使用的詳細資訊。


圖 3. 網路詳細資訊
網路

在下面的圖 4 中顯示了 POWER5 共享處理器微分割槽統計的詳細資訊。


圖 4. LPAR 詳細資訊
LPAR

圖 5 說明了 Linux 版本的 nmon 的詳細資訊,其中顯示了 CPU(這裡是 2 CPU 的 POWER5 計算機,並開啟了 SMT)、LPAR 統計、記憶體使用、網路統計、檔案系統使用和磁碟統計的詳細資訊。注意:該 LPAR 的物理 CPU 僅在 SUSE SLES9 Service Pack 1 和 Red Hat EL 4 Update 1 中是可用的。


圖 5. nmon 的 Linux 版本
nmon_Linux1

圖 6 顯示了計算機、磁碟統計(詳細模式)和主要程式的作業系統詳細資訊。


圖 6. nmon 的 Linux 版本(續)
nmon_Linux2

獲取該工具

下面是可用的下載選擇:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-690315/,如需轉載,請註明出處,否則將追究法律責任。

相關文章