Select Page

Linux 效能優化 – 釋放系統被佔滿的記憶體

最近常常發現 Ubuntu 的記憶體被佔滿,大多是執行 PHP 程式碼所造成的,當記憶體一滿,程式執行上就很沒有效率,利用重開機來釋放記憶體,恐怕也太極端了吧,我來破個題,先提供釋放 Linux 記憶體的方法後,再來說說用那些指令來檢查系統狀態比較實用。

釋放 Linux 記憶體指令

最常用的指令,一口氣要求系統清除 Page Cache、Dentries、Inodes

sudo -i sync; echo 3 > /proc/sys/vm/drop_caches
  • 0:不釋放(系統預設值)
  • 1:釋放頁快取
  • 2:釋放dentries和inodes
  • 3:釋放所有快取

查詢 Linux 記憶體使用狀況

看看 mem and swap 的使用狀態

free -m

專門查看 vm 的狀態

vmstat

可以查詢所有程式的資源使用狀況,以及找出 PID ,以方便刪除程式

top

針對記憶體使用,來個總覽

watch cat /proc/meminfo

利用好工具 htop 來觀察程式的使用狀況,以及可以在 htop 內直接清除程式

htop