在本指南中,我們將示範在Linux中使用「vmstat」指令的各種方法。
要執行本指南中示範的步驟,您需要以下元件:
#RAM,或稱為實體內存,是一種有限的資源,由作業系統分配給正在運行的程式。所有的程序,包括作業系統本身,都需要佔用這一空間。
當記憶體需求超過可用記憶體時,系統可能會崩潰或程式可能會要求更多記憶體空間。大多數情況下,這種情況是不受歡迎的。虛擬記憶體的概念因此應運而生,它允許系統將部分資料儲存在硬碟上,以便在需要時交換到RAM。這樣,系統可以更有效地管理記憶體資源,確保程式正常運行,而不會因記憶體不足而導致崩潰。虛擬記憶體的使用使得系統在面對記憶體需求
虛擬記憶體是電腦系統中的一種技術,它利用硬碟或固態硬碟上的空間來擴展記憶體的容量,以便在需要時充當額外的記憶體。虛擬記憶體實際上是一種將部分硬碟空間用作臨時儲存的方式,以便在處理器需要更多記憶體時進行補充。在UNIX和Linux作業系統中,這種技術稱為交換空間,用於管理記憶體資源的分配和交換。雖然虛擬記憶體並非真正的實體內存,但它可以提高系統的效能和穩定性,確保系統能夠處理更大的工作負載。
Linux核心將記憶體區塊移至交換空間,並在必要時將其檢索回RAM。
虛擬記憶體的速度通常比實體記憶體慢,取決於儲存裝置的效能。但在某些特定硬體設定下(如採用NVMe SSD),虛擬記憶體的效能可能與RAM相媲美。
"vmstat"指令是一個用於監視虛擬記憶體相關資訊的實用工具。它可以在所有Linux系統上作為"sysstat"軟體包的一部分使用。
“vmstat”的命令結構如下:
$vmstat
如果運行時沒有任何參數,」vmstat」會列印自上次啟動以來的系統資訊:
$vmstat
產出分為六個部分:
預設情況下,”vmstat”以位元組為單位報告記憶體值。若要更改單位,請使用”—S”標誌:
$vmstat-S
在這裡,「vmstat」以MB為單位列印值。
有幾個可用的記憶體單元:
#預設情況下,”vmstat”列印一次報告。但是,我們可以指示”vmstat”以指定的時間間隔(以秒為單位)提供連續的報告。
命令結構如下:
$vmstat
例如,要每隔2秒獲取更新的統計信息,命令如下:
$vmstat 2
輸出不會停止,除非使用「Ctrl C」手動終止。
或者,我們可以指定”vmstat”來提供特定次數的統計數據:
$vmstat
例如,要取得每2秒更新一次的統計數據,命令如下所示:
$vmstat 2 5
#活動記憶體指的是進程目前使用的記憶體空間。另一方面,非活動記憶體指的是分配給不再運行的程序的記憶體空間。
使用”vmstat”,我們可以檢查正在使用的活動和非活動記憶體的數量:
$vmstat—a
這裡,”buff”和”cache”列分別被”inact”和”active”列取代。
#要取得有關記憶體和調度的更詳細報告,請使用以下命令:
$vmstat—s
這裡:
Forks指的是由現有進程所產生的進程。要獲取fork計數的統計信息,請運行以下命令:
$vmstat-f
#“vmstat”命令還可以提供有關磁碟活動的資訊。若要取得磁碟活動的快速摘要,請執行以下命令:
$vmstat—D
要取得更詳細的磁碟活動報告(包括讀取/寫入統計),請改用以下命令:
$vmstat—d
這裡:
“vmstat”指令也可以產生特定磁碟分割區的報告。若要取得分區報告,請使用下列命令結構:
$vmstat-p
板分配是一種有效的物件記憶體分配機制。與先前的機制相比,slab分配提供了減少記憶體碎片(由記憶體分配和解除分配引起的)。
要檢查系統的slab統計信息,請使用以下”vmstat”命令:
$sudo vmstat—m
請注意,它需要root權限才能查看統計資料。
這裡:
在本指南中,我們展示了使用”vmstat”命令的各種方法。除了虛擬記憶體外,”vmstat”還可以報告磁碟統計資料、分叉、片等。
有興趣了解其他系統監控工具嗎?了解有關HTOP、KILL、PS等的更多資訊。
計算快樂!
以上是Linux Vmstat指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!