以下是针对 CentOS 7 的 Linux 系统性能调优,可以从多个方面进行优化,包括内核参数、网络配置、存储优化、内存管理和服务配置等。
1. 内核参数调优
使用 sysctl 命令或编辑 /etc/sysctl.conf 文件来调整内核参数。
常用参数:
-
文件描述符限制:
echo "fs.file-max = 100000" >> /etc/sysctl.conf -
TCP/IP 参数:
net.ipv4.tcp_fin_timeout = 15 net.ipv4.tcp_keepalive_time = 120 net.ipv4.tcp_max_syn_backlog = 2048 net.ipv4.tcp_syn_retries = 2 net.core.somaxconn = 1024 -
共享内存:
kernel.shmmax = 68719476736 kernel.shmall = 4294967296 -
生效配置:
sysctl -p
2. 网络配置优化
-
禁用 IPv6(如果不需要):
echo "NETWORKING_IPV6=no" >> /etc/sysconfig/network echo "IPV6INIT=no" >> /etc/sysconfig/network -
调整网络缓冲区大小:
net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216
3. 存储优化
-
调整 I/O 调度器:
可以根据硬件类型选择合适的 I/O 调度器,如deadline或noop(对于 SSD):echo "deadline" > /sys/block/sda/queue/scheduler -
使用
noatime挂载选项:
在/etc/fstab中添加noatime选项以减少磁盘 I/O:/dev/sda1 / ext4 defaults,noatime 0 1
4. 内存管理
-
调整
swappiness:
控制系统使用交换空间的倾向:echo "vm.swappiness = 10" >> /etc/sysctl.conf -
使用
hugepages:
对于内存密集型应用,使用大页内存可以提高性能:echo "vm.nr_hugepages = 256" >> /etc/sysctl.conf
5. 服务与进程优化
-
禁用不必要的服务:
使用systemctl禁用不需要的服务:systemctl disable <service_name> -
优化启动服务:
调整服务的启动类型(如on-demand或manual)以减少资源占用。
6. 监控与调试
-
使用
top、htop或glances:
实时监控系统性能,识别资源瓶颈。 -
使用
iostat、vmstat、netstat:
监控 I/O、内存和网络性能。
7. 应用程序优化
-
数据库优化:
针对 MySQL/PostgreSQL 等数据库进行配置优化,如调整缓存大小、连接数等。 -
Web 服务器优化:
对于 Nginx 或 Apache,调整工作进程数、连接数等参数。
8. 定期清理与维护
-
清理无用文件:
定期清理临时文件、缓存和日志,以释放磁盘空间。 -
更新系统:
定期更新系统和软件包,确保安全性和性能。
9. 使用 tuned 工具
CentOS 提供了 tuned 工具,可以根据系统负载自动调整性能配置。
-
安装和启用:
yum install tuned systemctl start tuned systemctl enable tuned -
选择配置:
tuned-adm profile throughput-performance # 针对高吞吐量 tuned-adm profile latency-performance # 针对低延迟
1162

被折叠的 条评论
为什么被折叠?



