本文介紹十種linux系統內存清理方法,助您高效管理系統資源。
一、快速釋放緩存:
使用sync命令同步數據到磁盤,再執行echo 3 > /proc/sys/vm/drop_caches命令清除頁面緩存、目錄項緩存和inode緩存。 這是一種快速有效的內存釋放方法。
sudo sync echo 3 | sudo tee /proc/sys/vm/drop_caches
二、內存使用情況監控:
free -h命令以易讀格式顯示內存使用情況,方便您了解當前內存狀態。
free -h
三、實時監控內存:
top或htop命令提供實時系統資源監控,包括內存使用情況,方便您及時發現并處理內存占用過高的進程。
top # 或 htop
四、交換空間管理:
如果交換空間占用過高,可考慮使用sudo swapoff -a禁用交換分區或調整交換文件大小(例如,創建1G的交換文件:sudo fallocate -l 1G /swapfile; sudo chmod 600 /swapfile; sudo mkswap /swapfile; sudo swapon /swapfile)。
五、內存和交換空間監控:
vmstat 1命令每秒顯示虛擬內存統計信息,幫助您深入了解內存和交換空間的動態變化。
六、終止高內存占用進程:
使用ps aux –sort=-%mem | head查找內存占用最高的進程,然后使用sudo kill -9
七、按進程名終止進程:
pkill -f
八、調整進程優先級:
使用nice -n 19
九、使用cgroups限制資源:
cgroups允許您創建控制組來限制進程的內存使用。例如,創建名為mygroup的內存控制組,并限制其內存使用量為100M:sudo cgcreate -g memory:/mygroup; echo “100M” | sudo tee /sys/fs/cgroup/memory/mygroup/memory.limit_in_bytes; sudo cgexec -g memory:mygroup
十、定時清理緩存:
您可以編輯crontab文件(crontab -e),添加定時任務定期清理緩存,例如每天凌晨3點:0 3 * * * sync && echo 3 > /proc/sys/vm/drop_caches。
重要提示: 清理內存需謹慎操作,避免影響系統穩定性。建議在生產環境前先在測試環境進行測試。