最近常常發現 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
近期留言