今日同大家分享一個好實用嘅 Linux 技巧:點樣用指令快速檢查伺服器嘅記憶體(RAM)使用情況,同埋揾出邊個程式食咗最多 RAM。無論你係系統管理員定係啱啱開始學 Linux,呢啲指令都係必學嘅基本功。
## 點解要識得檢查記憶體使用情況
伺服器行得慢、應用程式無故 crash、甚至出現 Out of Memory(OOM)錯誤,好多時都係因為記憶體唔夠用。識得用指令快速睇清楚 RAM 嘅使用狀況,可以幫你第一時間揾出問題根源,唔使盲摸摸咁亂估。
## 用 free 指令睇整體記憶體概況
最簡單直接嘅指令就係 `free`,佢會顯示系統嘅記憶體總量、已用、剩餘同埋 swap 嘅情況。
free -h
`-h` 參數代表 human-readable,會自動將數字轉換成 GB、MB 呢啲易讀嘅單位。輸出大概係咁:
total used free shared buff/cache available
Mem: 15Gi 3.2Gi 8.1Gi 234Mi 4.1Gi 11Gi
Swap: 2.0Gi 0B 2.0Gi
重點要睇嘅係 `available` 呢一欄,佢先至係真正仲可以用到嘅記憶體。唔好淨係睇 `free`,因為 Linux 會將閒置記憶體用嚟做 cache,呢啲 cache 喺有需要嘅時候係會自動釋放返出嚟嘅。
## 用 top 指令實時監察記憶體
想睇實時嘅記憶體使用情況,可以用 `top`:
top
入到去之後,撳 `Shift + M` 就可以按記憶體使用量排序,最高嘅排喺最頂。咁你就可以一眼睇到邊個程式食得最多 RAM。
如果想退出,撳 `q` 就得。
## 用 ps 指令揾出食 RAM 最多嘅程式
`ps` 指令可以列出所有執行中嘅程式,配合 `sort` 就可以揾出食記憶體最多嘅頭幾位:
ps aux --sort=-%mem | head -10
呢個指令會按記憶體使用百分比由高到低排序,再顯示頭 10 個程式。輸出入面嘅 `%MEM` 欄就係每個程式用咗幾多百分比嘅記憶體。
## 用 vmstat 睇記憶體同 swap 活動
想睇系統有冇頻繁咁用 swap(呢個係記憶體不足嘅警號),可以用 `vmstat`:
vmstat 1 5
呢個指令會每秒輸出一次,總共輸出 5 次。要留意 `si`(swap in)同 `so`(swap out)呢兩欄,如果佢哋持續唔係 0,就代表系統成日要將記憶體內容搬去 swap,即係記憶體真係唔夠用,要考慮加 RAM 或者優化程式。
## 總結
記住呢幾個指令,下次伺服器有問題嘅時候就唔使慌:
– `free -h` — 快速睇整體記憶體概況
– `top` 撳 `Shift + M` — 實時睇邊個程式食 RAM
– `ps aux –sort=-%mem` — 揾出食 RAM 最多嘅程式
– `vmstat 1 5` — 監察 swap 活動,判斷係咪真係唔夠 RAM
🔗 參考資料:NVD NIST 漏洞資料庫
掌握咗呢幾招,你已經可以應付大部分記憶體相關嘅疑難雜症。下次再同大家分享其他實用嘅 Linux 指令技巧!
#Linux #技術分享 #IT教學




