久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Linux系統(tǒng)監(jiān)控工具之vmstat詳解[轉(zhuǎn)]

 白雪~~~ 2012-01-10
vmstat是一個十分有用的Linux系統(tǒng)監(jiān)控工具,使用vmstat命令可以得到關(guān)于進(jìn)程,、內(nèi)存,、內(nèi)存分頁、堵塞IO,、traps及CPU活動的信息,。
一、前言

很顯然從名字中我們就可以知道vmstat是一個查看虛擬內(nèi)存(Virtual Memory)使用狀況的工具,,但是怎樣通過vmstat來發(fā)現(xiàn)系統(tǒng)中的瓶頸呢,?在回答這個問題前,還是讓我們回顧一下Linux中關(guān)于虛擬內(nèi)存相關(guān)內(nèi)容,。

二,、虛擬內(nèi)存運(yùn)行原理

    在系統(tǒng)中運(yùn)行的每個進(jìn)程都需要使用到內(nèi)存,但不是每個進(jìn)程都需要每時(shí)每刻使用系統(tǒng)分配的內(nèi)存空間,。當(dāng)系統(tǒng)運(yùn)行所需內(nèi)存超過實(shí)際的物理內(nèi)存,,內(nèi)核會釋放某些進(jìn)程所占用但未使用的部分或所有物理內(nèi)存,將這部分資料存儲在磁盤上直到進(jìn)程下一次調(diào)用,,并將釋放出的內(nèi)存提供給有需要的進(jìn)程使用,。

    在Linux內(nèi)存管理中,主要是通過“調(diào)頁P(yáng)aging”和“交換Swapping”來完成上述的內(nèi)存調(diào)度,。調(diào)頁算法是將內(nèi)存中最近不常使用的頁面換到磁盤上,,把活動頁面保留在內(nèi)存中供進(jìn)程使用。交換技術(shù)是將整個進(jìn)程,,而不是部分頁面,,全部交換到磁盤上。

    分頁(Page)寫入磁盤的過程被稱作Page-Out,,分頁(Page)從磁盤重新回到內(nèi)存的過程被稱作Page-In,。當(dāng)內(nèi)核需要一個分頁時(shí),但發(fā)現(xiàn)此分頁不在物理內(nèi)存中(因?yàn)橐呀?jīng)被Page-Out了),,此時(shí)就發(fā)生了分頁錯誤(Page Fault),。

    當(dāng)系統(tǒng)內(nèi)核發(fā)現(xiàn)可運(yùn)行內(nèi)存變少時(shí),就會通過Page-Out來釋放一部分物理內(nèi)存,。經(jīng)管Page-Out不是經(jīng)常發(fā)生,,但是如果Page-out頻繁不斷的發(fā)生,直到當(dāng)內(nèi)核管理分頁的時(shí)間超過運(yùn)行程式的時(shí)間時(shí),,系統(tǒng)效能會急劇下降,。這時(shí)的系統(tǒng)已經(jīng)運(yùn)行非常慢或進(jìn)入暫停狀態(tài),這種狀態(tài)亦被稱作 thrashing(顛簸),。

三,、使用vmstat

1.用法

vmstat [-a] [-n] [-S unit] [delay [ count]]

vmstat [-s] [-n] [-S unit]

vmstat [-m] [-n] [delay [ count]]

vmstat [-d] [-n] [delay [ count]]

vmstat [-p disk partition] [-n] [delay [ count]]

vmstat [-f]

vmstat [-V]

-a:顯示活躍和非活躍內(nèi)存

-f:顯示從系統(tǒng)啟動至今的fork數(shù)量 。引申閱讀: http://www.cnblogs.com/leoo2sk/archive/2009/12/11/talk-about-fork-in-linux.html

-m:顯示slabinfo

-n:只在開始時(shí)顯示一次各字段名稱,。

-s:顯示內(nèi)存相關(guān)統(tǒng)計(jì)信息及多種系統(tǒng)活動數(shù)量,。

delay:刷新時(shí)間間隔。如果不指定,,只顯示一條結(jié)果,。

count:刷新次數(shù)。如果不指定刷新次數(shù),,但指定了刷新時(shí)間間隔,,這時(shí)刷新次數(shù)為無窮。

-d:顯示磁盤相關(guān)統(tǒng)計(jì)信息,。

-p:顯示指定磁盤分區(qū)統(tǒng)計(jì)信息

-S:使用指定單位顯示,。參數(shù)有 k 、K ,、m ,、M ,分別代表1000,、1024,、1000000、1048576字節(jié)(byte),。默認(rèn)單位為K(1024 bytes)

-V:顯示vmstat版本信息,。

2.使用說明

例子1:每2秒輸出一條結(jié)果

字段說明:

Procs(進(jìn)程):

r: 運(yùn)行隊(duì)列中進(jìn)程數(shù)量

b: 等待IO的進(jìn)程數(shù)量

Memory(內(nèi)存):

swpd: 使用虛擬內(nèi)存大小(k表示)。如果swpd的值不為0,,或者比較大,,比如超過了100m,只要si,、so的值長期為0,,系統(tǒng)性能還是正常

free: 可用內(nèi)存大小(k表示)

buff: 用作緩沖的內(nèi)存大小,作為buffer cache的內(nèi)存數(shù)量,一般對塊設(shè)備的讀寫才需要緩沖。

cache: 用作緩存的內(nèi)存大小,作為page cache的內(nèi)存數(shù)量,,一般作為文件系統(tǒng)的cache,,如果cache較大,說明用到cache的文件較多,,如果此時(shí)IO中bi比較小,,說明文件系統(tǒng)效率比較好。

Swap:

si: 每秒從交換區(qū)寫到內(nèi)存的大小

so: 每秒寫入交換區(qū)的內(nèi)存大小

IO:(現(xiàn)在的Linux版本塊的大小為1024bytes)

bi: 每秒讀取的塊數(shù)(讀磁盤)(每秒kb)

bo: 每秒寫入的塊數(shù)(寫磁盤)(每秒kb)

系統(tǒng):

in: 每秒中斷數(shù),,包括時(shí)鐘中斷,。

cs: 每秒上下文切換數(shù),。

CPU(以百分比表示):

us: 用戶進(jìn)程執(zhí)行時(shí)間(user time),us的值比較高時(shí),說明用戶進(jìn)程消耗的cpu時(shí)間多,,但是如果長期大于50%,,需要考慮優(yōu)化用戶的程序。

sy: 系統(tǒng)進(jìn)程執(zhí)行時(shí)間(system time).這里us + sy的參考值為80%,,如果us+sy 大于 80%說明可能存在CPU不足,。進(jìn)程就會在運(yùn)行隊(duì)列中花費(fèi)等待時(shí)間,響應(yīng)時(shí)間和吞吐量就會下降

id: 空閑時(shí)間(包括IO等待時(shí)間)

wa: 等待IO時(shí)間,wa>40表明磁盤io沒有也許存在不合理的平衡,,或者對磁盤操作比較頻繁,可以結(jié)合iostat輸出來分析,。

例子2:顯示活躍和非活躍內(nèi)存

使用-a選項(xiàng)顯示活躍和非活躍內(nèi)存時(shí),所顯示的內(nèi)容除增加inact和active外,,其他顯示內(nèi)容與例子1相同,。

字段說明:

Memory(內(nèi)存):

inact: 非活躍內(nèi)存大小(當(dāng)使用-a選項(xiàng)時(shí)顯示)

active: 活躍的內(nèi)存大?。ó?dāng)使用-a選項(xiàng)時(shí)顯示)

    在Linux下有很多系統(tǒng)性能分析工具,,比較常見的有top、free,、ps,、time、timex,、uptime等,。后續(xù)將介紹幾個較為重要的性能分析工具vmstat、iostat和sar及其使用,。

本文部分來源:http://hi.baidu.com/imlidapeng/blog/item/51872329329ab8335243c1c9.html


(如果r經(jīng)常大于4 ,,且id經(jīng)常少于40,表示cpu的負(fù)荷很重,。)

(如果bi,,bo 長期不等于0,表示內(nèi)存不足)

通過VMSTAT識別CPU瓶頸
r(運(yùn)行隊(duì)列)展示了正在執(zhí)行和等待CPU資源的任務(wù)個數(shù),。當(dāng)這個值超過了CPU數(shù)目,,就會出現(xiàn)CPU瓶頸了

獲得CPU個數(shù)的命令(LINUX環(huán)境):
cat /proc/cpuinfo|grep processor|wc -l
當(dāng)r值超過了CPU個數(shù),就會出現(xiàn)CPU瓶頸,,解決辦法大體幾種:
1. 最簡單的就是增加CPU個數(shù)
2. 通過調(diào)整任務(wù)執(zhí)行時(shí)間,,如大任務(wù)放到系統(tǒng)不繁忙的情況下進(jìn)行執(zhí)行,進(jìn)爾平衡系統(tǒng)任務(wù)
3. 調(diào)整已有任務(wù)的優(yōu)先級

通過VMSTAT識別CPU滿負(fù)荷
首先需要聲明一點(diǎn)的是,,vmstat中CPU的度量是百分比的,。當(dāng)us+sy的值接近100的時(shí)候,表示CPU正在接近滿負(fù)荷工作,。但要注意的是,,CPU 滿負(fù)荷工作并不能說明什么,,UNIX總是試圖要CPU盡可能的繁忙,使得任務(wù)的吞吐量最大化,。唯一能夠確定CPU瓶頸的還是r(運(yùn)行隊(duì)列)的值,。

通過VMSTAT識別RAM瓶頸
數(shù)據(jù)庫服務(wù)器都只有有限的RAM,出現(xiàn)內(nèi)存爭用現(xiàn)象是Oracle的常見問題,。
首先察看RAM的數(shù)量,,命令如下(LINUX環(huán)境):
[oracle@oracle-db02 ~]$ free
         total    used    free     shared buffers     cached
Mem:    2074924 2071112    3812       0    40616      1598656
-/+ buffers/cache:     431840 1643084
Swap:    3068404     195804 2872600

當(dāng)然可以使用top等其他命令來顯示RAM,。
當(dāng) 內(nèi)存的需求大于RAM的數(shù)量,,服務(wù)器啟動了虛擬內(nèi)存機(jī)制,通過虛擬內(nèi)存,,可以將RAM段移到SWAP DISK的特殊磁盤段上,,這樣會出現(xiàn)虛擬內(nèi)存的頁導(dǎo)出和頁導(dǎo)入現(xiàn)象,頁導(dǎo)出并不能說明RAM瓶頸,,虛擬內(nèi)存系統(tǒng)經(jīng)常會對內(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,,使得對RAM需求減少
3. 減少RAM的需求(如:減少PGA)


利用/proc/loadavg監(jiān)控CPU的平均負(fù)載文件內(nèi)容如下:
[root@supersun ~]# cat /proc/loadavg
0.43 0.26 0.29 1/125 4133
這里的平均負(fù)載也就是可運(yùn)行的進(jìn)程的平均數(shù)
前三個值分別對應(yīng)系統(tǒng)在5分鐘,、10分鐘、15分鐘內(nèi)的平均負(fù)載
第四個值的分子是正在運(yùn)行的進(jìn)程數(shù),,分母是進(jìn)程總數(shù),,最后一個是最近運(yùn)行的進(jìn)程ID號

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多