溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中虛擬內存查看命令vmstat的過程

發(fā)布時間:2021-09-01 07:30:29 來源:億速云 閱讀:95 作者:chen 欄目:系統(tǒng)運維

本篇內容主要講解“Linux中虛擬內存查看命令vmstat的過程”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Linux中虛擬內存查看命令vmstat的過程”吧!

vmstat是一個查看虛擬內存使用狀況的工具,它可以看到服務器使用率,內存使用,虛擬內存交換情況,IO讀寫.相比top,可以看到整個機器的CPU,memory,IO的使用情況,而不是單單看到各個進程各值的使用率.

默認情況下,vmstat命令并沒有安裝,需要安裝sysstat包,該包里含有vmstat程序.

一般經常使用的該命令后加2個數字參數,第一個參數是采樣的時間間隔(秒),第二個參數是采樣的次數.

基本參數:

vmstat [-a] [-n] [-t] [-S unit] [delay [ count]]
 
[-a]:顯示活躍和非活躍內存
 
[-n]:只在開始時顯示一次字段名,針對多次收集信息的情況輸出人性化一點
 
[-t]:在每條信息的末尾,顯示收集信息的時間
 
[-S unit]:使用指定單位顯示。參數有 k 、K 、m 、M ,分別代表1000、1024、1000000、1048576字節(jié)(byte)。默認單位為K(1024 bytes)
 
[delay [count]]:delay是信息收集間隔,count是信息收集的次數

vmstat [-s] [-n] [-S unit]
 
[-s]:顯示內存相關的統(tǒng)計信息
 
vmstat [-m] [-n] [delay [ count]]
 
[-m]:顯示slabinfo,slabinfo信息記錄在/proc/slabinfo文件中。slab是linux的一個內存分配機制。
 
vmstat [-d] [-n] [delay [ count]]
 
[-d]:顯示相關磁盤的統(tǒng)計信息  
注:這個跟樓下-p的區(qū)別統(tǒng)計信息的不同、統(tǒng)計對象這個是磁盤-p是子分區(qū)、這個不能指定全部輸出

vmstat [-p disk partition] [-n] [delay [ count]]
 [-p disk partition]:顯示磁盤子分區(qū)的統(tǒng)計信息,這里沒有iostat的信息那么有用

vmstat [-f]
 [-f]:開機啟動至今的fork數量            注:這里的fork應該是內核的fork()函數,在父進程中,fork返回新創(chuàng)建子進程的進程ID


 vmstat [-V]
[-V]:版本信息


示例

代碼如下:


root@192.168.22.54:~# vmstat 2 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
13  0      0 542604 323512 12356052    0    0     0     2    0    0 17 18 65  0  0
42  0      0 552500 323512 12356112    0    0     0     0 18669 49903 42 45 14  0  0  
72  0      0 563416 323512 12356132    0    0     0     0 18394 49895 41 43 16  0  0  
73  0      0 570924 323512 12356164    0    0     0     0 19666 51678 37 41 22  0  0  
13  0      0 581208 323512 12356204    0    0     0   280 18990 49541 43 43 15  0  0  
18  0      0 587148 323512 12356228    0    0     0    32 19360 49203 37 39 24  0  0  
27  0      0 520016 323512 12356292    0    0     0     0 20423 52865 39 40 21  0  0  
18  0      0 527512 323512 12356336    0    0     0     0 19613 53052 42 43 16  0  0  
23  0      0 538608 323512 12356376    0    0     0     0 18860 50645 41 42 18  0  0  
80  0      0 548608 323512 12356444    0    0     0     0 19781 50917 41 42 17  0  0  


根據以上實例,下面是字段說明:
Procs(進程)

r:表示運行隊列的進程數量,換句話說就是多少個進程真正分配到cpu.服務器配置cpu為8核,這里由于服務器運行了大量的程序在跑,當這個值超過了cpu數目,且id較小,就可能會出現(xiàn)cpu瓶頸.運行隊列過大,表示cpu很繁忙,一般會造成cpu使用率過高.

b:等待io的進程數.

Memory

swpd:虛擬內存使用情況,單位KB

free:空閑的內存

buff:用作緩沖的內存大小,內存中的一部分,某程序代碼緩存,不可移到swap里去.

cache:用作緩存的內存大小,數據緩存,允許交給swap

Swap

si:從磁盤交換到內存的交換頁數量,每秒從磁盤讀入虛擬內存的大小,如果這個值大于0,表示物理內存不夠用或者內存泄露.

so:從內存交換到磁盤的交換頁數量,每秒虛擬內存寫入磁盤的大小,如果這個值大于0,表示物理內存不夠用或者內存泄露.

bi:Blocks received from a block device (blocks/s).每秒從塊設備接收到的塊數,即讀塊設備。

bo:Blocks sent to a block device (blocks/s).每秒發(fā)送到塊設備的塊數,即寫塊設備。

System

in:每秒中斷數,包括時鐘中斷.

cs:每秒上下文切換數.這個值越小越好.比如每次調用系統(tǒng)函數,線程的切換,代碼就會進入內核空間,導致上下文切換,次數過多表示cpu大部分浪費在上下文切換,導致cpu沒有充分利用.

CPU(以百分比表示)

us:用戶進程執(zhí)行的時間,用戶cpu使用率,操作運算等.

sy:系統(tǒng)進程執(zhí)行的時間,系統(tǒng)cpu使用率,讀取硬盤,操作硬件等.

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

wa:等待IO時間

到此,相信大家對“Linux中虛擬內存查看命令vmstat的過程”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI