在Ubuntu上优化Apache内存可从以下方面入手:
/etc/apache2/apache2.conf或MPM配置文件(如mpm_prefork.conf/mpm_event.conf):
MaxClients(或MaxRequestWorkers)为服务器内存可承受的合理值,避免进程过多占用内存。event MPM(sudo a2dismod prefork && sudo a2enmod event),减少线程/进程开销。MinSpareServers/MaxSpareServers控制空闲进程数量,MaxRequestsPerChild防止内存泄漏。KeepAlive或降低MaxKeepAliveRequests,减少长连接内存占用。sudo a2dismod <模块名>禁用非必需模块(如mod_ssl若无需HTTPS),减少内存占用。mod_expires设置静态资源缓存,减少重复请求。sudo sysctl -w vm.swappiness=10 # 降低交换空间使用倾向
sudo sysctl -w vm.overcommit_memory=2 # 允许内存超发
top/htop监控内存使用,定期重启Apache释放内存。sudo sync && echo 3 > /proc/sys/vm/drop_caches
注意:修改配置前建议备份文件,调整后重启Apache生效(sudo systemctl restart apache2),并在测试环境验证避免影响生产服务。