一、查看内存使用情况
free -h:以人类可读格式查看内存使用情况。top/htop:实时监控进程内存占用,htop需安装。
二、清理缓存
- 清理所有缓存(谨慎操作,可能影响系统性能):
sudo sync; sudo echo 3 > /proc/sys/vm/drop_caches # 清理页面缓存、目录项和inode缓存- 仅清理页面缓存:
echo 1 > /proc/sys/vm/drop_caches。 - 仅清理目录项和inode缓存:
echo 2 > /proc/sys/vm/drop_caches。
- 仅清理页面缓存:
三、优化系统参数
- 调整swappiness值(降低交换空间使用倾向,10-60之间,数值越低越依赖物理内存):
sudo sysctl vm.swappiness=10 # 临时生效 echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf # 永久生效。 - 调整overcommit_memory(控制内存分配策略,2为严格模式):
sudo sysctl vm.overcommit_memory=2 echo "vm.overcommit_memory=2" | sudo tee -a /etc/sysctl.conf
四、管理进程和服务
- 终止占用内存高的进程:
ps aux --sort=-%mem | head -n 10 # 查看内存占用前10的进程 sudo kill -9# 替换为实际进程ID。 - 停止/禁用不必要的服务:
sudo systemctl stop# 停止服务 sudo systemctl disable # 禁用服务开机自启。 - 重启服务释放内存:
sudo systemctl restart# 适用于内存泄漏的服务。
五、清理临时文件和日志
- 清理/tmp和/var/tmp目录:
sudo rm -rf /tmp/* /var/tmp/* # 谨慎操作,避免删除重要文件。 - 管理日志文件:
sudo journalctl --vacuum-time=2weeks # 保留最近2周日志。
六、增加物理内存或交换空间
- 增加物理内存:直接升级硬件(最有效方式)。
- 调整交换空间:
- 创建交换文件(如2GB):
sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 永久生效 ```。
- 创建交换文件(如2GB):
七、使用工具监控和优化
- 内存监控:
top、htop、vmstat。 - 第三方工具:
bleachbit清理系统垃圾(需安装)。
注意事项
- 操作前备份重要数据,避免误删。
- 生产环境谨慎清理缓存或调整内核参数,优先通过优化服务或增加硬件解决内存问题。