CentOS系统如何进行优化
导读:CentOS系统优化指南 优化CentOS系统需从系统清理、内核调参、内存管理、磁盘I/O、网络配置、服务管理、SELinux及硬件等多维度入手,以下是具体步骤: 一、系统清理:释放无用资源 清理YUM缓存:运行sudo yum clea...
CentOS系统优化指南
优化CentOS系统需从系统清理、内核调参、内存管理、磁盘I/O、网络配置、服务管理、SELinux及硬件等多维度入手,以下是具体步骤:
一、系统清理:释放无用资源
- 清理YUM缓存:运行
sudo yum clean all清除yum下载的软件包缓存,释放磁盘空间。 - 删除无用软件包:使用
sudo yum autoremove删除不再需要的依赖包;通过package-cleanup --oldkernels --count=2保留最新的2个内核,删除旧内核。 - 清理日志文件:
- 截断大日志:
find /var/log -type f -name "*.log" -size +50M -mtime +7 -exec truncate -s 0 { } \;(清理7天前超过50M的日志)。 - 删除旧日志:
find /var/log -type f -mtime +30 -exec rm -f { } \;(删除30天前的日志)。 - 设置日志轮转:
sudo logrotate /etc/logrotate.conf自动管理日志大小和保留周期。
- 截断大日志:
- 清理临时文件:
sudo rm -rf /tmp/* /var/tmp/*删除临时目录下的无用文件。
二、内核参数优化:调整系统内核行为
编辑/etc/sysctl.conf文件,添加或修改以下关键参数,提升网络、内存等性能,修改后执行sudo sysctl -p使配置生效:
- 网络优化:
net.ipv4.tcp_tw_reuse = 1(允许复用TIME-WAIT状态的连接)、net.ipv4.tcp_fin_timeout = 30(缩短FIN_WAIT_2状态的超时时间)、net.ipv4.tcp_max_syn_backlog = 8192(增加SYN队列长度)、net.core.somaxconn = 1024(增大TCP连接队列上限)。 - 内存管理:
vm.swappiness = 10(降低Swap使用倾向,优先使用物理内存)、vm.dirty_ratio = 10(当脏页占内存10%时触发写入磁盘)、vm.dirty_background_ratio = 5(后台写入脏页的阈值)。 - 系统限制:
fs.file-max = 1024000(增大系统最大文件描述符数)、net.core.netdev_max_backlog = 2000(增加网络设备接收队列长度)。
三、内存管理:优化内存使用效率
- 调整Swap分区:
- 查看Swap大小:
free -m。 - 创建Swap分区:
sudo mkswap /dev/sdb1(假设/dev/sdb1为新增分区)。 - 启用Swap:
sudo swapon /dev/sdb1。 - 永久挂载:在
/etc/fstab中添加/dev/sdb1 swap swap defaults 0 0。
- 查看Swap大小:
- 设置Swappiness:通过
vm.swappiness参数控制内存不足时使用Swap的倾向(0-100),建议设为10(值越小,越优先使用物理内存)。
四、磁盘I/O优化:提升磁盘读写性能
- 调整I/O调度器:
- 查看当前调度器:
cat /sys/block/sda/queue/scheduler(如显示deadline、noop等)。 - 修改调度器:
echo deadline > /sys/block/sda/queue/scheduler(deadline适合大多数服务器场景)。 - 永久生效:在
/etc/default/grub中添加elevator=deadline,执行sudo grub2-mkconfig -o /boot/grub2/grub.cfg更新GRUB配置。
- 查看当前调度器:
- 使用文件系统缓存:在
/etc/sysctl.conf中设置vm.dirty_ratio和vm.dirty_background_ratio(如上述),平衡内存与磁盘的写入效率。 - 挂载选项优化:编辑
/etc/fstab,为根分区添加noatime,nodiratime选项(如/dev/sda1 / ext4 defaults,noatime,nodiratime 0 0),减少文件访问时的磁盘写入(不记录访问时间)。
五、网络配置优化:提高网络吞吐与响应速度
- 调整TCP参数:在
/etc/sysctl.conf中设置net.ipv4.tcp_window_size = 1024000(增大TCP窗口大小,提升吞吐量)、net.ipv4.tcp_max_tw_buckets = 5000(限制TIME-WAIT连接数,避免资源耗尽)。 - 启用网卡多队列:
- 检查支持情况:
ethtool -l eth0 | grep "supported multiqueue"(若显示Multi-queue supported: Yes则支持)。 - 启用多队列:
ethtool -L eth0 combined 4(将网卡队列数设为4,提升并发处理能力)。
- 检查支持情况:
- DNS优化:修改
/etc/resolv.conf,使用高性能DNS服务器(如nameserver 8.8.8.8);或安装dnsmasq作为本地缓存,加快域名解析速度。
六、服务管理:减少不必要的资源占用
- 关闭无用服务:通过
systemctl命令停止并禁用不需要的服务,例如:sudo systemctl stop firewalld & & sudo systemctl disable firewalld(若无需防火墙)。sudo systemctl stop NetworkManager & & sudo systemctl disable NetworkManager(若使用传统网络配置)。- 使用
systemctl list-unit-files --state=enabled查看所有启用服务,禁用无用服务。
- 优化服务配置:针对常用服务(如Nginx、MySQL)调整配置文件:
- Nginx:调整
worker_processes(设为CPU核心数)、worker_connections(增大单个worker的最大连接数)。 - MySQL:调整
innodb_buffer_pool_size(设为物理内存的50%-70%,提升InnoDB性能)、max_connections(根据并发需求调整)。
- Nginx:调整
七、SELinux设置:降低安全机制带来的性能开销
若无需SELinux的强制访问控制,可将其设为permissive模式(仅记录违规而不阻止)或完全禁用:
- 编辑
/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled。 - 执行
setenforce 0立即生效(重启后仍需修改配置文件保持生效)。
八、硬件优化:提升系统基础性能
- 增加硬件资源:根据业务需求升级CPU、内存、存储(如将HDD更换为NVMe SSD),直接提升系统处理能力。
- 选择高性能硬件:使用千兆及以上网卡、支持PCIe 4.0的SSD,提升网络和磁盘I/O性能。
九、监控与维护:持续优化系统性能
- 安装监控工具:使用
top(实时查看进程资源占用)、htop(增强版top)、vmstat(查看内存、CPU、I/O统计)、iostat(查看磁盘I/O详情)等工具,定期监控系统状态。 - 定期分析性能瓶颈:通过
perf(性能分析工具)、strace(跟踪系统调用)等工具,定位CPU、内存、磁盘或网络的瓶颈,针对性优化。
注意事项:
- 优化前务必备份重要数据(如
/etc目录、数据库文件)。 - 在测试环境验证优化效果,避免直接在生产环境修改导致系统不稳定。
- 根据实际业务需求调整参数(如高并发场景需增大
worker_connections,数据库服务器需增大innodb_buffer_pool_size)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS系统如何进行优化
本文地址: https://pptw.com/jishu/744029.html
