linux查看內存大小的命令是“free”命令;通過“free”命令可以查看系統的內存使用情況,內存大小單位為KB;通過“free -m”命令查看系統的內存使用情況,內存大小單位為MB;通過“free -g”命令查看系統的內存使用情況,內存大小單位為GB。
本教程操作環境:linux5.9.8系統、Dell G3電腦。
linux查看內存大小的命令是什么?
通過 free 命令查看Linux系統實際可用內存大小
一、free 命令
通過 free 命令查看系統的內存使用情況,內存大小單位為 KB,執行結果如下圖所示:
通過 free -m 命令查看系統的內存使用情況,內存大小單位為 MB,執行結果如下圖所示:
通過 free -g 命令查看系統的內存使用情況,內存大小單位為 GB,執行結果如下圖所示:
二、實際可用內存大小計算
從上方的圖片得知, free 命令執行完成后,會顯示 Mem、Swap 兩行數據,其中 Mem 表示物理內存的使用情況,Swap 表示 Swap 分區的使用情況。
什么是 Swap 分區?
Swap 分區是操作系統在硬盤上開辟的一塊空間,當物理內存塊被耗盡時,系統會將一些長時間沒有使用的進程的內存轉移到 Swap 分區;當物理內存被釋放后,Swap 區的數據會隨著進程的使用逐步回到物理內存中。
1、Mem 屬性說明見下表:
屬性 | 屬性值 | 說明 |
---|---|---|
total | 8192MB | 總物理內存大小 |
used | 601MB | 已使用物理內存大小 |
free | 3998MB | 未分配物理內存大小 |
shared | 0MB | 共享的物理內存大小 |
buff/cache | 3591MB | 為了提高系統的讀寫速度(包含磁盤快的讀寫,文件 inode 的讀寫等),操作系統將部分內存作為緩存使用,該數值為緩存占用的物理內存大小 |
available | 3998MB | 可用的物理內存大小 |
2、Swap 屬性說明見下表:
屬性 | 屬性值 | 說明 |
---|---|---|
total | 0MB | Swap 分區的總大小 |
used | 0MB | 已使用的 Swap 分區大小 |
free | 0MB | 未使用的 Swap 分區大小 |
3、不考慮 Swap 分區
根據上表,在不考慮 Swap 分區的情況下,內存計算如下:
總內存大小:Mem.total = Mem.used + Mem.free + Mem.shared + Mem.buff/cache
理論上實際可用內存大小:Mem.actual = Mem.total – Mem.used – Mem.shared = Mem.free + Mem.buff/cache
4、考慮 Swap 分區
根據上表,在考慮 Swap 分區的情況下,內存計算如下:
總內存大小:Mem.total = Mem.used + Mem.free + Mem.shared + Mem.buff/cache
理論上實際可用內存大小:Mem.actual = Mem.total – Mem.used – Mem.shared + Swap.free = Mem.free + Mem.buff/cache + Swap.free
5、系統建議的可用大小 available
available 官方定義:
MemAvailable: An estimate of how much memory is available for starting new applications, without swapping. Calculated from MemFree, SReclaimable, the size of the file LRU lists, and the low watermarks in each zone. The estimate takes into account that the system needs some page cache to function well, and that not all reclaimable slab will be reclaimable, due to items being in use. The impact of those factors will vary from system to system.
available 翻譯:
memavailable:它是一個估計值,在不考慮 Swap 分區的情況下,估算有多少內存可用于啟動新的應用程序。根據 memfree、可回收的page cache、slab cache、LRU隊列的大小以及每個區域中的低水位線進行計算。該估計考慮到系統需要一些 page cache 才能正常運行,而且由于某些程序正在使用,并非所有可回收的 slab 都可以回收。這些因素的影響因系統而異。
available 計算公式見下圖:
公式概括為:
Mem.available = Mem.free + PageCache.size + SlabCache.size – WaterMark.low
屬性 | 屬性值 | 說明 |
---|---|---|
PageCache.size | 0MB | 可以回收的 PageCache 大小,計算公式見上圖 |
SlabCache.size | 0MB | 可以回收的 SlabCache 大小 ,計算公式見上圖 |
WaterMark.low | 0MB | 支持系統使用的最低水位線,計算公式見上圖 |
因此在不考慮 Swap 分區的情況下,建議通過 available 參數判定系統的實際可用內容。文章內容僅代表個人觀點,如有不正之處,歡迎批評指正,謝謝大家。
推薦學習:《Linux視頻教程》