在本指南中,我們將示範在Linux中使用「vmstat」指令的各種方法。
先決條件:
要執行本指南中示範的步驟,您需要以下元件:
- 配置正確的Linux系統。出於測試目的,請考慮使用Linux VM。
- 存取具有sudo權限的非根使用者
- 對命令列介面的基本理解
Linux中的虛擬記憶體
#RAM,或稱為實體內存,是一種有限的資源,由作業系統分配給正在運行的程式。所有的程序,包括作業系統本身,都需要佔用這一空間。
當記憶體需求超過可用記憶體時,系統可能會崩潰或程式可能會要求更多記憶體空間。大多數情況下,這種情況是不受歡迎的。虛擬記憶體的概念因此應運而生,它允許系統將部分資料儲存在硬碟上,以便在需要時交換到RAM。這樣,系統可以更有效地管理記憶體資源,確保程式正常運行,而不會因記憶體不足而導致崩潰。虛擬記憶體的使用使得系統在面對記憶體需求
虛擬記憶體是電腦系統中的一種技術,它利用硬碟或固態硬碟上的空間來擴展記憶體的容量,以便在需要時充當額外的記憶體。虛擬記憶體實際上是一種將部分硬碟空間用作臨時儲存的方式,以便在處理器需要更多記憶體時進行補充。在UNIX和Linux作業系統中,這種技術稱為交換空間,用於管理記憶體資源的分配和交換。雖然虛擬記憶體並非真正的實體內存,但它可以提高系統的效能和穩定性,確保系統能夠處理更大的工作負載。
Linux核心將記憶體區塊移至交換空間,並在必要時將其檢索回RAM。
虛擬記憶體的速度通常比實體記憶體慢,取決於儲存裝置的效能。但在某些特定硬體設定下(如採用NVMe SSD),虛擬記憶體的效能可能與RAM相媲美。
vmstat指令
"vmstat"指令是一個用於監視虛擬記憶體相關資訊的實用工具。它可以在所有Linux系統上作為"sysstat"軟體包的一部分使用。
“vmstat”的命令結構如下:
$vmstat
基本用法
如果運行時沒有任何參數,」vmstat」會列印自上次啟動以來的系統資訊:
$vmstat
產出分為六個部分:
- procs:當前正在運行的進程的統計信息
- r:活動進程數
- b:睡眠過程的數量
- memory:記憶體使用統計
- Swpd:虛擬記憶體總量(交換空間)
- 空閒:可用交換空間
- buff:用作暫存緩衝記憶體的交換空間量
- 快取:總快取記憶體
- swap:關於交換空間的統計信息
- si:交換速率
- 所以:換出的比率
- io:I/O統計
- bi:從區塊裝置接收的區塊數
- bo:傳送到區塊裝置的區塊數
- 系統:日程安排統計
- in:系統中斷計數
- cs:上下文切換速率
- CPU:各種CPU統計數據
- 美國:CPU花費在非核心行程的時間
- sy:CPU花費在內核進程上的時間
- id:CPU花費時間空閒
- wa:CPU花費時間等待I/O作業完成
- st:虛擬機器使用的CPU時間
更改顯示單元
預設情況下,”vmstat”以位元組為單位報告記憶體值。若要更改單位,請使用”—S”標誌:
$vmstat-S
在這裡,「vmstat」以MB為單位列印值。
有幾個可用的記憶體單元:
- M:1048576位元組(2^20位元組)
- M:1000000位元組(1000千位元組)
- K:1024位元組(1兆位元組)
- k:1000位元組(1位元組)
持續統計資料更新
#預設情況下,”vmstat”列印一次報告。但是,我們可以指示”vmstat”以指定的時間間隔(以秒為單位)提供連續的報告。
命令結構如下:
$vmstat
例如,要每隔2秒獲取更新的統計信息,命令如下:
$vmstat 2
輸出不會停止,除非使用「Ctrl C」手動終止。
或者,我們可以指定”vmstat”來提供特定次數的統計數據:
$vmstat
例如,要取得每2秒更新一次的統計數據,命令如下所示:
$vmstat 2 5
主動與非主動記憶
#活動記憶體指的是進程目前使用的記憶體空間。另一方面,非活動記憶體指的是分配給不再運行的程序的記憶體空間。
使用”vmstat”,我們可以檢查正在使用的活動和非活動記憶體的數量:
$vmstat—a
這裡,”buff”和”cache”列分別被”inact”和”active”列取代。
記憶體與排程
#要取得有關記憶體和調度的更詳細報告,請使用以下命令:
$vmstat—s
這裡:
- 第1節:這一節介紹基本系統訊息,如總實體記憶體、活動/非活動記憶體、空閒/緩衝區/快取記憶體等。
- 第2節:各種CPU統計數據
- 非良好CPU節拍:高優先權進程使用CPU的次數。
- NICE CPU TICK:低優先權進程使用CPU的次數。
- 系統CPU計數:核心程序使用CPU的次數。
- Idle CPU ticks:CPU處於空閒狀態的次數。
- IO—wait CPU ticks:CPU等待I/O管理的次數。
- IRQ:CPU接收中斷請求的次數。
- softirq:CPU接收軟體中斷要求的次數。
- 被盜CPU時間:VM竊取CPU時間的次數。
- 第3節:記憶體分頁狀態
- 第4節:事件計數器
引導後的叉子
Forks指的是由現有進程所產生的進程。要獲取fork計數的統計信息,請運行以下命令:
$vmstat-f
磁碟與分割區統計
#“vmstat”命令還可以提供有關磁碟活動的資訊。若要取得磁碟活動的快速摘要,請執行以下命令:
$vmstat—D
要取得更詳細的磁碟活動報告(包括讀取/寫入統計),請改用以下命令:
$vmstat—d
這裡:
- 讀數
- total:磁碟讀取總數
- 已合併:群組讀取總數
- sectors:讀取的sectors總數
- ms:從磁碟讀取資料的總時間(毫秒)
- 寫道
- total:磁碟寫入計數
- 已合併:群組寫入總數
- sectors:寫入的sectors總數
- ms:寫入磁碟的總時間(毫秒)
- io
- cur:目前磁碟讀/寫總數
- 秒:正在進行的讀取/寫入操作所花費的時間量(秒)
“vmstat”指令也可以產生特定磁碟分割區的報告。若要取得分區報告,請使用下列命令結構:
$vmstat-p
板材統計
板分配是一種有效的物件記憶體分配機制。與先前的機制相比,slab分配提供了減少記憶體碎片(由記憶體分配和解除分配引起的)。
要檢查系統的slab統計信息,請使用以下”vmstat”命令:
$sudo vmstat—m
請注意,它需要root權限才能查看統計資料。
這裡:
- 快取:快取資料的名稱
- Num:Num快取中處於活動狀態的物件的數量
- Total:特定快取中物件的總數
- Size:快取物件的大小
- Pages:包含快取物件的記憶體分頁計數
結論
在本指南中,我們展示了使用”vmstat”命令的各種方法。除了虛擬記憶體外,”vmstat”還可以報告磁碟統計資料、分叉、片等。
有興趣了解其他系統監控工具嗎?了解有關HTOP、KILL、PS等的更多資訊。
計算快樂!
以上是Linux Vmstat指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

什麼是zlib1.dll?有些人遇到“ zlib1.dll丟失”錯誤或zlib1.dll試圖打開包含zlib1.dll的應用程序時找不到錯誤。為了解決這些相關錯誤,PHP.CN網站上的這篇文章可以為您提供一些我

你們中有些人可能會發現自動填充沒有在Excel中工作。您能提出任何解決方案嗎?如果沒有,那麼您就會到達正確的位置。 PHP.CN網站上的這篇文章將為您提供6種方法來解決Excel Autofill無法正常工作的方法。

什麼是Windows 7 Starter版本? Windows 7 Starter版的局限性是什麼?如何獲得Windows 7首發版ISO?來自PHP.CN的這篇文章為您提供了有關Windows 7 Starter Edition的詳細信息。

運行應用程序時,您是否通過登錄目前然後登錄另一個應用程序來更改帳戶感到困擾? PHP.CN收集了一些有效的方法來幫助您在Windows 10和Windows 11中作為其他用戶運行應用程序。

您是否患有“ Dropbox下載文件的錯誤下載您的文件”錯誤?現在閱讀PHP.CN發表的這篇文章,以獲取有關此問題的一些有用解決方案。

您是否對“所選文件在文件資源管理器中未突出顯示”的問題感到困擾?您知道如何解決嗎?如果沒有,您可以在PHP.CN上閱讀此帖子,以獲取幾個可行解決方案,以使所選文件在文件資源管理器中可見。

如果您使用多語言,語言欄是必不可少的。您可以通過從任務欄調整設置來更改輸入語言。但是,當您打開計算機時,語言條可能有一天會消失。如何修復語言欄丟失

是否想使用外部驅動器來擴展手機的存儲空間?可以這樣做。此php.cn帖子向您展示瞭如何將外部驅動器連接到手機的指南。此外,如果您需要從外部驅動器中恢復數據,則可以嘗試PHP


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版
好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器