在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系统中的内存。