Linux vmstat

vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操做系統的虛擬內存、進程、IO讀寫、CPU活動等進行監視。它是對系統的總體狀況進行統計,不足之處是沒法對某個進程進行深刻分析。數據庫

 

Procs緩存

       r: The number of processes waiting for run time.服務器

 

       等待運行的進程數。若是等待運行的進程數越多,意味着CPU很是繁忙。另外,若是該參數長期大於和等於邏輯cpu個數,則CPU資源可能存在較大的瓶頸。app

       b: The number of processes in uninterruptible sleep.函數

 

 

       處在非中斷睡眠狀態的進程數。意味着進程被阻塞。主要是指被資源阻塞的進程對列數(好比IO資源、頁面調度等),當這個值較大時,須要根據應用程序來進行分析,好比數據庫產品,中間件應用等性能

 

 

Memorythis

       swpd: the amount of virtual memory used.spa

 

       已使用的虛擬內存大小。若是虛擬內存使用較多,可能系統的物理內存比較吃緊,須要採起合適的方式來減小物理內存的使用。swapd不爲0,並不意味物理內存吃緊,若是swapd沒變化,siso的值長期爲0,這也是沒有問題的操作系統

      

       free: the amount of idle memory.code

 

       空閒的物理內存的大小

       buff: the amount of memory used as buffers.

 

       用來作buffer(緩存,主要用於塊設備緩存)的內存數,單位:KB

       cache: the amount of memory used as cache.

 

       用來作cache(緩存,主要用於緩存文件)的內存,單位:KB

       inact: the amount of inactive memory. (-a option)

 

       inactive memory的總量

       active: the amount of active memory. (-a option)

 

 

       active memroy的總量。

 

 

Swap

       si: Amount of memory swapped in from disk (/s).

 

        從磁盤交換到內存的交換頁數量,單位:KB/秒。

 

       so: Amount of memory swapped to disk (/s).

        從內存交換到磁盤的交換頁數量,單位:KB/

 

        內存夠用的時候,這2個值都是0,若是這2個值長期大於0時,系統性能會受到影響,磁盤IOCPU資源都會被消耗。

   當看到空閒內存(free)不多的或接近於0時,就認爲內存不夠用了,這個是不正確的。不能光看這一點,還要結合siso

    若是free不多,可是siso也不多(大多時候是0),那麼不用擔憂,系統性能這時不會受到影響的。

 

       當內存的需求大於RAM的數量,服務器啓動了虛擬內存機制,經過虛擬內存,能夠將RAM段移到SWAP DISK的特殊磁盤段上,

   這樣會 出現虛擬內存的頁導出和頁導入現象,頁導出並不能說明RAM瓶頸,虛擬內存系統常常會對內存段進行頁導出,

   但頁導入操做就代表了服務器須要更多的內存了, 頁導入須要從SWAP DISK上將內存段複製回RAM,致使服務器速度變慢。

 

IO

       bi: Blocks received from a block device (blocks/s).

 

        每秒從塊設備接收到的塊數,單位:塊/秒 也就是讀塊設備。

 

       bo: Blocks sent to a block device (blocks/s).

 

        每秒發送到塊設備的塊數,單位:塊/  也就是寫塊設備。

 

System

       in: The number of interrupts per second, including the clock.

 

        每秒的中斷數,包括時鐘中斷

 

       cs: The number of context switches per second. 

        每秒的環境(上下文)切換次數。好比咱們調用系統函數,就要進行上下文切換,而過多的上下文切換會浪費較多的cpu資源,這個數值應該越小越好。

 

CPU

       These are percentages of total CPU time.

 

       us: Time spent running non-kernel code. (user time, including nice time)

 

        用戶CPU時間(非內核進程佔用時間)(單位爲百分比)。 us的值比較高時,說明用戶進程消耗的CPU時間多

 

       sy: Time spent running kernel code. (system time)

 

         系統使用的CPU時間(單位爲百分比)。sy的值高時,說明系統內核消耗的CPU資源多,這並非良性表現,咱們應該檢查緣由。

 

       id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.

 

        空閒的CPU的時間(百分比),在Linux 2.5.41以前,這部分包含IO等待時間。

 

       wa: Time spent waiting for IO. Prior to Linux 2.5.41, shown as zero.

 

        等待IOCPU時間,在Linux 2.5.41以前,這個值爲0 .這個指標意味着CPU在等待硬盤讀寫操做的時間,用百分比表示。wait越大則機器io性能就越差。說明IO等待比較嚴重,這可能因爲磁盤大量做隨機訪問形成,也有可能磁盤出現瓶頸(塊操做)。

 

    st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.

 

 

vmstat 1 10

Procs

       r: The number of processes waiting for run time.

 

       等待運行的進程數。若是等待運行的進程數越多,意味着CPU很是繁忙。另外,若是該參數長期大於和等於邏輯cpu個數,則CPU資源可能存在較大的瓶頸。

       b: The number of processes in uninterruptible sleep.

 

 

       處在非中斷睡眠狀態的進程數。意味着進程被阻塞。主要是指被資源阻塞的進程對列數(好比IO資源、頁面調度等),當這個值較大時,須要根據應用程序來進行分析,好比數據庫產品,中間件應用等

 

 

Memory

       swpd: the amount of virtual memory used.

 

       已使用的虛擬內存大小。若是虛擬內存使用較多,可能系統的物理內存比較吃緊,須要採起合適的方式來減小物理內存的使用。swapd不爲0,並不意味物理內存吃緊,若是swapd沒變化,siso的值長期爲0,這也是沒有問題的

      

       free: the amount of idle memory.

 

       空閒的物理內存的大小

       buff: the amount of memory used as buffers.

 

       用來作buffer(緩存,主要用於塊設備緩存)的內存數,單位:KB

       cache: the amount of memory used as cache.

 

       用來作cache(緩存,主要用於緩存文件)的內存,單位:KB

       inact: the amount of inactive memory. (-a option)

 

       inactive memory的總量

       active: the amount of active memory. (-a option)

 

 

       active memroy的總量。

 

 

Swap

       si: Amount of memory swapped in from disk (/s).

 

        從磁盤交換到內存的交換頁數量,單位:KB/秒。

 

       so: Amount of memory swapped to disk (/s).

        從內存交換到磁盤的交換頁數量,單位:KB/

 

        內存夠用的時候,這2個值都是0,若是這2個值長期大於0時,系統性能會受到影響,磁盤IOCPU資源都會被消耗。

   當看到空閒內存(free)不多的或接近於0時,就認爲內存不夠用了,這個是不正確的。不能光看這一點,還要結合siso

    若是free不多,可是siso也不多(大多時候是0),那麼不用擔憂,系統性能這時不會受到影響的。

 

       當內存的需求大於RAM的數量,服務器啓動了虛擬內存機制,經過虛擬內存,能夠將RAM段移到SWAP DISK的特殊磁盤段上,

   這樣會 出現虛擬內存的頁導出和頁導入現象,頁導出並不能說明RAM瓶頸,虛擬內存系統常常會對內存段進行頁導出,

   但頁導入操做就代表了服務器須要更多的內存了, 頁導入須要從SWAP DISK上將內存段複製回RAM,致使服務器速度變慢。

 

IO

       bi: Blocks received from a block device (blocks/s).

 

        每秒從塊設備接收到的塊數,單位:塊/秒 也就是讀塊設備。

 

       bo: Blocks sent to a block device (blocks/s).

 

        每秒發送到塊設備的塊數,單位:塊/  也就是寫塊設備。

 

System

       in: The number of interrupts per second, including the clock.

 

        每秒的中斷數,包括時鐘中斷

 

       cs: The number of context switches per second. 

        每秒的環境(上下文)切換次數。好比咱們調用系統函數,就要進行上下文切換,而過多的上下文切換會浪費較多的cpu資源,這個數值應該越小越好。

 

CPU

       These are percentages of total CPU time.

 

       us: Time spent running non-kernel code. (user time, including nice time)

 

        用戶CPU時間(非內核進程佔用時間)(單位爲百分比)。 us的值比較高時,說明用戶進程消耗的CPU時間多

 

       sy: Time spent running kernel code. (system time)

 

         系統使用的CPU時間(單位爲百分比)。sy的值高時,說明系統內核消耗的CPU資源多,這並非良性表現,咱們應該檢查緣由。

 

       id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.

 

        空閒的CPU的時間(百分比),在Linux 2.5.41以前,這部分包含IO等待時間。

 

       wa: Time spent waiting for IO. Prior to Linux 2.5.41, shown as zero.

 

        等待IOCPU時間,在Linux 2.5.41以前,這個值爲0 .這個指標意味着CPU在等待硬盤讀寫操做的時間,用百分比表示。wait越大則機器io性能就越差。說明IO等待比較嚴重,這可能因爲磁盤大量做隨機訪問形成,也有可能磁盤出現瓶頸(塊操做)。

 

   st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.

相關文章
相關標籤/搜索