ubuntu

如何在Ubuntu上优化Apache的内存使用

小樊
34
2025-08-20 05:22:29
栏目: 智能运维

在Ubuntu上优化Apache内存使用可从以下方面入手:

  1. 调整Apache配置参数
    • 修改/etc/apache2/apache2.conf/etc/apache2/mods-enabled/mpm_*.conf
      • 设置MaxRequestsPerChild(如1000),限制子进程处理请求数,防止内存泄漏。
      • 启用event MPM(sudo a2dismod prefork && sudo a2enmod event),减少线程/进程开销。
      • 调整StartServersMinSpareServersMaxSpareServers,控制空闲进程数。
      • 关闭KeepAlive或设置MaxKeepAliveRequests(如100),减少长连接内存占用。
  2. 禁用不必要的模块
    • 使用apachectl -M查看已加载模块,通过sudo a2dismod <模块名>禁用不需要的模块(如mod_rewrite若未使用)。
  3. 启用缓存模块
    • 启用mod_expires设置静态资源缓存(如图片、CSS),减少重复请求:
      sudo a2enmod expires  
      sudo nano /etc/apache2/mods-enabled/expires.conf  
      # 添加:ExpiresActive On  
      
  4. 优化内核参数
    • 编辑/etc/sysctl.conf
      • 设置vm.swappiness=10,减少交换分区使用。
      • 设置vm.overcommit_memory=2,允许内存超发。
    • 执行sudo sysctl -p使配置生效。
  5. 监控与维护
    • 使用tophtopapachetop监控内存使用,定位异常进程。
    • 定期重启Apache释放内存:sudo systemctl restart apache2
    • 清理日志和缓存:sudo journalctl --vacuum-time=3d

注意:修改配置前建议备份文件,并在测试环境验证,避免影响服务稳定性。

0
看了该问题的人还看了