監控竊取時間的工具 (st)
我們在一個虛擬的“專用”伺服器上執行,這在理論上應該意味著我們是伺服器上唯一的人。在實踐中……我想我們可能不會。
請注意,雖然看起來我們正在殺死我們的機器,但“竊取時間”為 71%
我正在統計負載,我很失望這個統計數據沒有出現在我的圖表中。是否有任何工具可以監控這可能會有所幫助?
附加資訊:
我們正在執行 4 個核心,型號:
# grep "model name" /proc/cpuinfo | sort -u model name : Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz
您的問題定義明確,但您沒有提供很多有關您的環境、您目前的監控方式或您正在使用的繪圖工具的資訊。然而,鑑於 SNMP 幾乎被普遍使用,我假設您正在使用它並且至少對它有一定的了解。
雖然(據我所知)CPU Steal time 目前無法從 snmpd 獲得,但您可以使用
UCD-SNMP-MIB::extOutput
對象和exec
命令自行擴展它。獲得竊取時間的最簡單方法(我發現)是從
iostat
. 使用以下構造,我們可以得到偷竊時間:$ iostat -c | awk 'NR==4 {print $5}' 0.00
因此,將以下內容附加到您的 snmpd.conf 中:
exec cpu_steal_time /usr/bin/iostat -c | /usr/bin/awk 'NR==4 {print $5}'
(或者,您可以將命令放在包裝器腳本中並從內部呼叫包裝器
snmpd.conf
。)每個
exec
呼叫snmpd.conf
都從 1 開始索引。因此,如果您只有一個 exec 語句,那麼您將需要 pollUCD-SNMP-MIB::extOutput.1
。如果這是第 5 個 exec 語句,則 pollUCD-SNMP-MIB::extOutput.5
等。如果您在索引 1 處,則數字 OID
UCD-SNMP-MIB::extOutput
是,而索引 5 是,依此類推。.1.3.6.1.4.1.2021.8.1.101``.1.3.6.1.4.1.2021.8.1.101.1``.1.3.6.1.4.1.2021.8.1.101.5
然後,您創建一個輪詢 SNMPD OID 類型為 gauge 的圖形,範圍從 0 到 100。這應該會給你一些漂亮的圖表。