歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux vmstat 命令 - 報告虛擬內存統計的工具

Linux vmstat 命令 - 報告虛擬內存統計的工具

日期:2017/2/28 14:37:07   编辑:Linux教程

眾所周知,計算機必須有稱之為RAM(隨機訪問內存)的存儲器使得計算機工作。RAM指的是插在計算機主板上的物理存儲。這裡的RAM被用於加載像浏覽器、文字處理器這類的程序,實際上,你使用的程序都運行在內存上。

讓我們假設你有2GB的內存。當你在運行操作系統時,你的可用內存可能只有1.5GB。接著你使用了大量的程序。當內存使用滿之後,你可能再也無法加載更多的程序。淺顯地說,計算機可能會說:"抱歉,你不能在運行更多的程序了,如果你還要運行其他的程序請先關閉一些程序。"

為了解決這個問題,包括Linux在內的各種操作系統使用了一個稱之為虛擬內存的方法。這個方法會搜索最近不在使用的程序的內存區域,接著將它們拷貝到計算機硬盤上。這會騰出一些剩余內存空間給你有機會運行更多的程序。

為了監視虛擬內存的活動,我們使用vmstat工具。

什麼是 vmstat

vmstat是一個提供報告虛擬內存統計的工具。它包括了系統內存、交換和實時處理器利用率。

如何運行 vmstat

和mpstat一樣,vmstat包含在sysstat包中。如果你還沒有,請安裝sysstat包。

為了運行vmstat,只需在控制台輸入vmstat。不帶參數運行vmstat會顯示vmstat的默認結果。

讓我們看下如何了解vmstat提供的信息:

Procs

procs有 r列和b列。r列代表等待訪問CPU進程的數量。而b列意味著睡眠進程的數量。在這些列的下面,是它們的值。從上面的截圖中,我門有2個進程正在等待訪問CPU,0個睡眠進程。

Memory

memory有swpd、 free、 buffcache 這些列。這些信息和命令free -m相同。swpd列顯示了有多少內存已經被交換到了交換文件或者磁盤。free列顯示了未分配的可用內存。buff列顯示了使用中的內存。cache列顯示了有多少內存可以被交換到交換文件或者磁盤上如果一些應用需要他們。

Swap

swap顯示了從交換系統上發送或取回了多少內存。si列告訴我們每秒有多少內存被從swap移到真實內存中(In)。so列告訴我們每秒有多少內存被從真實內存移到swap中(Out)。

I/O

io依據塊的讀寫顯示了每秒輸入輸出的活動。bi列告訴我們收到的塊數量,bo列告訴我們發送的塊數量。

System

system顯示了每秒的系統操作數量。in列顯示了系統每秒被中斷的數量。cs列顯示了系統為了處理所以任務而上下文切換的數量。

CPU

CPU告訴了我們CPU資源的使用情況。us列顯示了處理器在非內核程序消耗的時間。sy列顯示了處理器在內核相關任務上消耗的時間。id列顯示了處理器的空閒時間。wa列顯示了處理器在等待IO操作完成以繼續處理任務上的時間。

Copyright © Linux教程網 All Rights Reserved