在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
),并在测试环境验证避免影响生产服务。