vmstat
# vmstat
是兩次執行之間的時間間隔,以秒為單位。
是 vmstat 重複的次數。
下面是當我們希望 vmstat:
每隔 5 秒執行一次並在第 10 次執行後停止時的示例。
每 5 秒之後都會輸出一行並顯示此時的統計資訊。
# vmstat 5 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 170988 22256 6796 322680 1 2 335 48 92 22 4 8 84 5 0
該輸出顯示有關系統資源的資訊:
procs 顯示程序數
r 等待執行的程序。系統上的負載越多,等待執行 cpu 週期的程序數量越多。
b 不可中斷睡眠的程序,也稱為「被阻塞」的程序。這些程序最有可能等待 i/o,但也可能等待其他事情。
wpd,free,buff,cache顯示了記憶體值班
wpd 虛擬記憶體或交換記憶體的數量(以 kb 為單位)
free 可用物理記憶體的數量(以 kb 為單位)
buff 用作緩衝區的記憶體數量(以 kb 為單位)
cache 用作快取的物理記憶體數量(以 kb 為單位)
si so 顯示了交換活動:
si 將記憶體從磁碟交換回物理 ram 的速率(以 kb/秒為單位)
so 將記憶體從物理 ram 交換到磁碟的速率(以 kb/秒為單位)
bi,bo顯示了 i/o 活動:
bi 系統向塊裝置傳送資料的速率(以塊/秒為單位)
bo 系統從塊裝置中讀取資料的速率(以塊/秒為單位)
in 系統每秒接收到的中斷數
cs 在程序空間中切換上下文的速率(以數量/秒為單位)
us,sy,id,wa 顯示了 cpu 負載的資訊:
us 顯示花費在使用者程序中的 cpu 百分比。oracle 程序屬於這一類。
sy 系統程序(如所有根程序)使用的 cpu 百分比
id 可用 cpu 百分比
wa 花費在「等待 i/o」上的百分比
輸出的第一行是自從系統重新啟動以來所有指標的平均值。該行可忽略,因為它並不顯示當前狀態
理想情況下,等待或阻塞的程序數量(位於「procs」下)應該為 0 或接近於 0。
如果數值較高,則表示系統沒有足夠的資源(如 cpu、記憶體或 i/o)。
「swap」下的資料表明交換是否過多。如果交換過多,則表明物理記憶體可能不足。應該減少記憶體需求或增加物理 ram。
「io」下的資料表示往返於磁碟的資料流。這表明正在進行的磁碟活動量,這並不一定表明存在問題。
如果您看到「proc」和「b」列(正在阻塞的程序)下有較大的數值和較高的 i/o,則可能出現了嚴重的 i/o 爭用問題。
「cpu」標題下是最有用的資訊。「id」列顯示空閒 cpu。如果用 100 減去該數值,則會得到繁忙 cpu 的百分比。
還記得本系列的另乙個部分中描述的 top 命令嗎?該命令還顯示 cpu 的空閒百分比數值。區別是:top 顯示每個 cpu 的空閒百分比,而 vmstat 顯示所有 cpu 的空閒百分比。
vmstat 命令還顯示 cpu 使用情況的劃分:linux 系統使用多少、使用者程序使用多少以及等待 i/o 使用多少。
通過該劃分,您可以確定 cpu 消耗的組成。如果系統 cpu 負載較高,能表明正在執行某個根程序(如備份)嗎?
一段時間內的系統負載應該一致。如果系統顯示較高的數值,請使用 top 命令確定占有 cpu 的系統程序
針對 oracle 使用者的用法
oracle 程序(後台程序和伺服器程序)和使用者程序(sqlplus、apache 等)位於「us」下。
如果該數值較高,則使用 top 來確定程序。如果「wa」列顯示較高的數值,則表明 i/o 系統無法跟上讀取或寫入的數量。
有時這可能是因為在資料庫中進行大量更新,從而導致日誌切換以及後續的大量存檔程序。
但是,如果它持續顯示乙個較大的數值,則表明可能存在 i/o 瓶頸。
oracle 資料庫中的 i/o 瓶頸可能會造成嚴重的問題。與效能問題不同,慢速 i/o 可能導致控制檔案寫入速度緩慢,
這會導致等待獲取控制檔案的程序加入佇列。如果等待超過 900 秒且等待者是關鍵程序(如 lgwr),則會關閉資料庫例項。
如果您看到很多交換,可能是 sga 的太大,以至於物理記憶體容納不下。應該減小 sga 大小或增加物理記憶體。
Linux vmstat命令詳解
vmstat是乙個十分有用的linux系統監控工具,使用vmstat命令可以得到關於程序 記憶體 記憶體分頁 堵塞io traps及cpu活動的資訊。一 前言 二 虛擬記憶體執行原理 在系統中執行的每個程序都需要使用到記憶體,但不是每個程序都需要每時每刻使用系統分配的記憶體空間。當系統執行所需記憶體...
Linux vmstat 命令詳解
vmstat命令是最常見的linux unix監控工具,可以展現給定時間間隔的伺服器的狀態值,包括伺服器的cpu使用率,mem記憶體使用,vmswap虛擬記憶體交換情況,io讀寫情況。這個命令是檢視linux unix最好的命令,乙個是linux unix都支援,二是相比top,可以看到整個機器的c...
Linux vmstat命令詳解
vmstat命令是最常見的linux unix監控工具,可以展現給定時間間隔的伺服器的狀態值,包括伺服器的cpu使用率,記憶體使用,虛擬記憶體交換情況,io讀寫情況。這個命令是我檢視linux unix最喜愛的命令,乙個是linux unix都支援,二是相比top,我可以看到整個機器的cpu,記憶體...