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