在Linux系統中,有多種方法可以清理內存。以下是一些常用的方法:
sync
和echo 3 > /proc/sys/vm/drop_caches
sync
命令會將所有未寫入磁盤的數據寫入磁盤。echo 3 > /proc/sys/vm/drop_caches
會清理頁面緩存、目錄項緩存和inode緩存。sudo sync
echo 3 | sudo tee /proc/sys/vm/drop_caches
free
命令查看內存使用情況free -h
可以以人類可讀的格式顯示內存使用情況。free -h
top
或htop
監控內存使用top
和htop
可以實時監控系統資源使用情況,包括內存。top
# 或者
htop
sudo swapoff -a
# 或者調整交換文件大小
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
vmstat
監控內存和交換空間vmstat
可以顯示虛擬內存統計信息。vmstat 1
kill
命令終止占用大量內存的進程ps aux --sort=-%mem | head
sudo kill -9 <PID>
pkill
命令根據名稱終止進程pkill -f <process_name>
nice
和renice
調整進程優先級nice -n 19 <command>
renice 19 -p <PID>
cgroups
限制進程資源sudo cgcreate -g memory:/mygroup
echo "100M" | sudo tee /sys/fs/cgroup/memory/mygroup/memory.limit_in_bytes
sudo cgexec -g memory:mygroup <command>
crontab -e
# 添加以下行,每天凌晨3點清理緩存
0 3 * * * sync && echo 3 > /proc/sys/vm/drop_caches
通過以上方法,你可以有效地管理和清理Linux系統中的內存。