在Linux系统中,有多种方法可以清理内存。以下是一些常用的方法:
sync和echo 3 > /proc/sys/vm/drop_cachessync命令会将所有未写入磁盘的数据写入磁盘。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系统中的内存。