← 返回所有文章

查詢記憶體(RAM)使用量

Utils系統資訊RAM記憶體LinuxWindowsmacOS作者:VincentCorgi約 1 分鐘閱讀

功能

彙整 Linux、Windows、macOSRAM 總量、已用/可用、swap 等資訊的指令與輸出該怎麼讀。

情境

Linux

Code
free -h

-h 以人類可讀單位(GiB、MiB)顯示;列出 total、used、free、shared、buff/cache、available。

Code
cat /proc/meminfo | head -10

讀取核心提供的記憶體資訊,可看到 MemTotal、MemFree、Buffers、Cached 等細項。

輸出範例(free -h):

Code
              total        used        free      shared  buff/cache   available
Mem:           7.7Gi       2.1Gi       3.2Gi       100Mi       2.4Gi       5.2Gi
Swap:          2.0Gi       0.0Gi       2.0Gi

available 才是實際可給新程式用的記憶體(含可回收的 cache)。

Windows

Code
Get-CimInstance Win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory | ForEach-Object { [PSCustomObject]@{ TotalMB = [math]::Round($_.TotalVisibleMemorySize/1024,2); FreeMB = [math]::Round($_.FreePhysicalMemory/1024,2) } }

TotalVisibleMemorySizeFreePhysicalMemory 單位為 KB,除以 1024 得到 MB。

Code
systeminfo | findstr /C:"Memory"

用系統內建 systeminfo 過濾記憶體相關行,不需 PowerShell 模組。

輸出範例(systeminfo):

Code
Total Physical Memory:     16,384 MB
Available Physical Memory: 8,192 MB

輸出範例(Get-CimInstance):

Code
TotalMB  FreeMB
-------  ------
16384    8192

macOS

Code
vm_stat

顯示分頁式記憶體統計:free、active、inactive、wired 等,單位為 page(通常 16KB)。

Code
top -l 1 -s 0 | grep PhysMem

PhysMem 一行顯示實體記憶體使用:used、wired、compressed、unused。

輸出範例(vm_stat 節錄):

Code
Pages free:                        125000.
Pages active:                      280000.
Pages inactive:                    95000.
Pages wired:                       120000.

將 page 數 × 4096(bytes)或 × 4(KB)可換算成約略 MB(依架構而定)。