# httpd.conf 或 apache2.conf 中的关键参数
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
KeepAlive On
KeepAliveTimeout 5
MaxKeepAliveRequests 100
# nginx.conf 中的关键参数
worker_processes auto; # 通常设置为CPU核心数
worker_connections 1024; # 根据可用内存调整
worker_rlimit_nofile 65535;
events {
use epoll;
multi_accept on;
}
http {
keepalive_timeout 65;
keepalive_requests 100;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
}
# 减少交换倾向
vm.swappiness = 10
# 增加文件描述符限制
fs.file-max = 65535
# TCP内存优化
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_rmem = 4096 87380 6291456
net.ipv4.tcp_wmem = 4096 16384 4194304
# 内存过量使用策略
vm.overcommit_memory = 1
vm.overcommit_ratio = 50
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
memory_limit = 128M # 根据应用需求调整
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
# my.cnf 中的关键参数
innodb_buffer_pool_size = 总内存的50-70%
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2 # 对性能敏感应用可设为2
innodb_flush_method = O_DIRECT
key_buffer_size = 64M # 仅MyISAM需要
query_cache_size = 0 # 现代MySQL版本建议禁用
通过以上优化措施,可以显著提高CentOS Web服务器的内存使用效率,确保在高负载下仍能保持稳定性能。