Linux Vmstat指令
在本指南中,我們將示範在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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)
