温馨提示×

centos如何优化清理内存占用

小樊
56
2025-08-30 21:33:09
栏目: 智能运维

一、查看内存使用情况

  • 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 <PID>  # 替换为实际进程ID。
    
  • 停止/禁用不必要的服务
    sudo systemctl stop <service_name>  # 停止服务
    sudo systemctl disable <service_name>  # 禁用服务开机自启。
    
  • 重启服务释放内存
    sudo systemctl restart <service_name>  # 适用于内存泄漏的服务。
    
    

五、清理临时文件和日志

  • 清理/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  # 永久生效
      ```。
      
      

七、使用工具监控和优化

  • 内存监控tophtopvmstat
  • 第三方工具bleachbit清理系统垃圾(需安装)。

注意事项

  • 操作前备份重要数据,避免误删。
  • 生产环境谨慎清理缓存或调整内核参数,优先通过优化服务或增加硬件解决内存问题。

0