- 論壇徽章:
- 0
|
vmstat 命令詳解
procs:
r-->在運(yùn)行隊(duì)列中等待的進(jìn)程數(shù)
b-->在等待io的進(jìn)程數(shù)
w-->可以進(jìn)入運(yùn)行隊(duì)列但被替換的進(jìn)程
memoy
swap-->現(xiàn)時(shí)可用的交換內(nèi)存(k表示)
free-->空閑的內(nèi)存(k表示)
pages
re--》回收的頁面
mf--》非嚴(yán)重錯(cuò)誤的頁面
pi--》進(jìn)入頁面數(shù)(k表示)
po--》出頁面數(shù)(k表示)
fr--》空余的頁面數(shù)(k表示)
de--》提前讀入的頁面中的未命中數(shù)
sr--》通過時(shí)鐘算法掃描的頁面
disk 顯示每秒的磁盤操作。 s表示scsi盤,0表示盤號(hào)
fault 顯示每秒的中斷數(shù)
in--》設(shè)備中斷
sy--》系統(tǒng)中斷
cy--》cpu交換
cpu 表示cpu的使用狀態(tài)
cs--》用戶進(jìn)程使用的時(shí)間
sy--》系統(tǒng)進(jìn)程使用的時(shí)間
id--》cpu空閑的時(shí)間
(1)通過VMSTAT識(shí)別CPU瓶頸
如果 r經(jīng)常大于 4 ,且id經(jīng)常少于40,表示cpu的負(fù)荷很重。
如果空閑時(shí)間(cpu id)持續(xù)為0并且系統(tǒng)時(shí)間(cpu sy)是用戶時(shí)間的兩倍(cpu us) 系統(tǒng)則面臨著CPU資源的短缺.
r(運(yùn)行隊(duì)列)展示了正在執(zhí)行和等待CPU資源的任務(wù)個(gè)數(shù)。當(dāng)這個(gè)值超過了CPU數(shù)目,就會(huì)出現(xiàn)瓶頸了。
當(dāng)r值超過了CPU個(gè)數(shù),就會(huì)出現(xiàn)CPU瓶頸,解決辦法大體幾種:
1. 最簡單的就是增加CPU個(gè)數(shù)
2. 通過調(diào)整任務(wù)執(zhí)行時(shí)間,如大任務(wù)放到系統(tǒng)不繁忙的情況下進(jìn)行執(zhí)行,進(jìn)爾平衡系統(tǒng)任務(wù)
3. 調(diào)整已有任務(wù)的優(yōu)先級(jí)
首先需要聲明一點(diǎn)的是,vmstat中CPU的度量是百分比的。當(dāng)us+sy的值接近100的時(shí)候,表示CPU正在接近滿負(fù)荷工作。但要注意的是,CPU滿負(fù)荷工作并不能說明什么,UNIX總是試圖要CPU盡可能的繁忙,使得任務(wù)的吞吐量最大化。唯一能夠確定CPU瓶頸的還是r(運(yùn)行隊(duì)列)的值。
(2)通過VMSTAT識(shí)別RAM瓶頸
如果pi,po 長期不等于0,表示內(nèi)存不足。
內(nèi)存的瓶頸是由scan rate (sr)來決定的.scan rate是通過每秒的始終算法來進(jìn)行頁掃描的.如果scan rate(sr)連續(xù)的大于每秒200頁則表示可能存在內(nèi)存缺陷.同樣的如果page項(xiàng)中的pi和po這兩欄表示每秒頁面的調(diào)入的頁數(shù)和每秒調(diào)出的頁數(shù).如果該值經(jīng)常為非零值,也有可能存在內(nèi)存的瓶頸,當(dāng)然,如果個(gè)別的時(shí)候不為0的話,屬于正常的頁面調(diào)度這個(gè)是虛擬內(nèi)存的主要原理.
數(shù)據(jù)庫服務(wù)器都只有有限的RAM,出現(xiàn)內(nèi)存爭用現(xiàn)象是Oracle的常見問題。
首先察看RAM的數(shù)量,命令如下(LINUX環(huán)境):
當(dāng)內(nèi)存的需求大于RAM的數(shù)量,服務(wù)器啟動(dòng)了虛擬內(nèi)存機(jī)制,通過虛擬內(nèi)存,可以將RAM段移到SWAP DISK的特殊磁盤段上,這樣會(huì)出現(xiàn)虛擬內(nèi)存的頁導(dǎo)出和頁導(dǎo)入現(xiàn)象,頁導(dǎo)出并不能說明RAM瓶頸,虛擬內(nèi)存系統(tǒng)經(jīng)常會(huì)對(duì)內(nèi)存段進(jìn)行頁導(dǎo)出,但頁導(dǎo)入操作就表明了服務(wù)器需要更多的內(nèi)存了,頁導(dǎo)入需要從SWAP DISK上將內(nèi)存段復(fù)制回RAM,導(dǎo)致服務(wù)器速度變慢。
解決的辦法有幾種:
1. 最簡單的,加大RAM
2. 改小SGA,使得對(duì)RAM需求減少
3. 減少RAM的需求(如:減少PGA)
(3)通過VMSTAT識(shí)別IO瓶頸
如果disk 經(jīng)常不等于0, 且在 b中的隊(duì)列 大于3, 表示 io性能不好。
-----------------------------------------------
Vmstat 命令 詳細(xì)解釋
2008-10-07 10:17
Vmstat詳細(xì)解釋
vmstat:報(bào)告關(guān)于內(nèi)核進(jìn)程,虛擬內(nèi)存,磁盤,cpu的的活動(dòng)狀態(tài)的工具
主要有幾個(gè)用法:
1.vmstat 間隔 測試數(shù)量
輸出如下
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 26258 18280 0 0 0 7 20 0 127 227 64 1 2 96 1
其中:
kthr--內(nèi)核進(jìn)程的狀態(tài)
--r 運(yùn)行隊(duì)列中的進(jìn)程數(shù),在一個(gè)穩(wěn)定的工作量下,應(yīng)該少于5 (r
vmstat命令也是顯示Linux性能指標(biāo)的方法,它報(bào)告了許多信息,理解這些信息有一定難度。
輸出分為6個(gè)類別:進(jìn)程、內(nèi)存、交換區(qū)、I/O、系統(tǒng)和CPU。與iostat類似,第一個(gè)樣本是從最近重新啟動(dòng)以來的平均值。以下是一個(gè)典型的vmstat輸出:
![]()
-m選項(xiàng)使內(nèi)存字段以兆字節(jié)為單位顯示。vmstat和許多其他性能命令一樣使用取樣間隔和計(jì)數(shù)參數(shù)。
進(jìn)程(procs)信息有兩列。r列是可運(yùn)行進(jìn)程的數(shù)量,b列是阻塞進(jìn)程的數(shù)量。
內(nèi)存部分有4個(gè)報(bào)告虛擬內(nèi)存如何使用的字段。表3-7列出這些字段及其意義。
表3-7 vmstat內(nèi)存字段
字 段
說 明
Swpd
已用的交換空間數(shù)量
free
自由RAM數(shù)量
buff
緩沖使用的RAM數(shù)量
cache
文件系統(tǒng)緩存使用的RAM數(shù)量
接下來是交換(swap)指標(biāo)。交換只是一個(gè)古老術(shù) 語,但是顯然不會(huì)消失。交換涉及分頁讀取或?qū)懭氪疟P的進(jìn)程所消耗的所有內(nèi)存。它將顯示系統(tǒng)達(dá)到的性能指標(biāo)水平。而Linux所做的是,以小塊方式按照需要 對(duì)磁盤空間進(jìn)行分頁操作。因此,我們可能應(yīng)該停止說交換到磁盤的內(nèi)存,并開始說分頁到磁盤的內(nèi)存。對(duì)于任何一種方法,表3-8解釋了相關(guān)字段。
表3-8 vmstat交換字段
字 段
說 明
si
從磁盤分頁到內(nèi)存的數(shù)量
so
從內(nèi)存分頁到磁盤的數(shù)量
在交換之后是兩個(gè)I/O字段。這部分提供了一個(gè)簡略介紹以幫助確定Linux是否正忙于完成許多磁盤I/O。vmstat只提供兩個(gè)字段,顯示出入磁盤的數(shù)據(jù)量(參見表3-9)。
表3-9 vmstat io字段
字 段
說 明
bi
從磁盤讀入的塊
bo
寫入磁盤的塊
系統(tǒng)字段提供Linux內(nèi)核進(jìn)行進(jìn)程管理的繁忙程度的摘要。中斷和上下文開關(guān)參見表3-10。上下文開關(guān)指進(jìn)程移出CPU或者移入CPU。
表3-10 vmstat系統(tǒng)字段
字 段
說 明
in
系統(tǒng)中斷
cs
進(jìn)程上下文開關(guān)
最后,CPU狀態(tài)信息用總CPU時(shí)間的百分比來表示,如表3-11所示。
表3-11 vmstat cpu字段
字 段
說 明
us
用戶模式
sy
內(nèi)核模式
wa
等待I/O
id
空閑
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u2/60332/showart_1316308.html |
|