在 Linux 要檢視系記憶體, 可以用幾種不同的方法, 有些指令會提供完整的記憶體資訊, 有些則會提供簡單清晰的結果。以下是檢視 Linux 記憶體的方法。
free 指令
最簡單的方法是用 free 指令, 它會顯示簡單直接的記憶體資訊:
|
1 2 3 4 |
$ free total used free shared buff/cache available Mem: 1015404 167352 76552 51084 771500 620520 Swap: 524284 35584 488700 |
加上 -g 或 -m 參數, 可以將顯示的單位改為 GB 或 MB:
|
1 2 3 4 |
$ free -g total used free shared buff/cache available Mem: 0 0 0 0 0 0 Swap: 0 0 0 |
或
|
1 2 3 4 |
$ free -m total used free shared buff/cache available Mem: 991 163 74 49 753 606 Swap: 511 34 477 |
如果要持續監測 free 指令的輸出, 除了使用 watch 指令外, free 指令內建的 -s 參數也可以持續監測 free 的輸出, 例如想每 5 秒更新一次 free 指令, 可以這樣:
|
1 2 3 4 |
$ free -s 5 total used free shared buff/cache available Mem: 991 163 74 49 753 606 Swap: 511 34 477 |
要停止上面 free 指令執行, 可以按 “Ctrl + c” 退出。
/proc/meminfo
除了使用 free 指令外, 另一個常用的方法是檢視 /proc/meminfo 檔案, /proc/meminfo 是一個系統產生的虛擬檔案, 裡面有系統安裝了的記憶體資訊。/proc/meminfo 檔案的資訊相當詳盡, 如果只要檢視系統的記憶體及可用記憶體, 只要檢視 /proc/meminfo 開頭的 3 行即可:
|
1 2 3 4 |
$ head -3 /proc/meminfo MemTotal: 1015404 kB MemFree: 74152 kB MemAvailable: 620612 kB |
top 指令
執行 top 指令後, 第四行的結果是記憶體資訊:
|
1 2 3 4 5 |
$ top top - 10:00:43 up 11 days, 8:40, 1 user, load average: 0.05, 0.03, 0.05 Tasks: 86 total, 1 running, 85 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1015404 total, 70756 free, 168048 used, 776600 buff/cache |
dmidecode
如果有 root 權限, 可使用 dmidecode 指令檢查, 使用以下指令, 可以得出更加易讀的結果:
$ sudo dmidecode -t 17 | grep “Size.*MB” | awk ‘{s+=$2} END {print s / 1024 “GB”}’
1GB
1GB