首页主机资讯CentOS系统如何进行优化

CentOS系统如何进行优化

时间2025-11-06 15:23:03发布访客分类主机资讯浏览1457
导读:CentOS系统优化指南 优化CentOS系统需从系统清理、内核调参、内存管理、磁盘I/O、网络配置、服务管理、SELinux及硬件等多维度入手,以下是具体步骤: 一、系统清理:释放无用资源 清理YUM缓存:运行sudo yum clea...

CentOS系统优化指南
优化CentOS系统需从系统清理、内核调参、内存管理、磁盘I/O、网络配置、服务管理、SELinux及硬件等多维度入手,以下是具体步骤:

一、系统清理:释放无用资源

  1. 清理YUM缓存:运行sudo yum clean all清除yum下载的软件包缓存,释放磁盘空间。
  2. 删除无用软件包:使用sudo yum autoremove删除不再需要的依赖包;通过package-cleanup --oldkernels --count=2保留最新的2个内核,删除旧内核。
  3. 清理日志文件
    • 截断大日志: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自动管理日志大小和保留周期。
  4. 清理临时文件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(增加网络设备接收队列长度)。

三、内存管理:优化内存使用效率

  1. 调整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
  2. 设置Swappiness:通过vm.swappiness参数控制内存不足时使用Swap的倾向(0-100),建议设为10(值越小,越优先使用物理内存)。

四、磁盘I/O优化:提升磁盘读写性能

  1. 调整I/O调度器
    • 查看当前调度器:cat /sys/block/sda/queue/scheduler(如显示deadlinenoop等)。
    • 修改调度器:echo deadline > /sys/block/sda/queue/schedulerdeadline适合大多数服务器场景)。
    • 永久生效:在/etc/default/grub中添加elevator=deadline,执行sudo grub2-mkconfig -o /boot/grub2/grub.cfg更新GRUB配置。
  2. 使用文件系统缓存:在/etc/sysctl.conf中设置vm.dirty_ratiovm.dirty_background_ratio(如上述),平衡内存与磁盘的写入效率。
  3. 挂载选项优化:编辑/etc/fstab,为根分区添加noatime,nodiratime选项(如/dev/sda1 / ext4 defaults,noatime,nodiratime 0 0),减少文件访问时的磁盘写入(不记录访问时间)。

五、网络配置优化:提高网络吞吐与响应速度

  1. 调整TCP参数:在/etc/sysctl.conf中设置net.ipv4.tcp_window_size = 1024000(增大TCP窗口大小,提升吞吐量)、net.ipv4.tcp_max_tw_buckets = 5000(限制TIME-WAIT连接数,避免资源耗尽)。
  2. 启用网卡多队列
    • 检查支持情况:ethtool -l eth0 | grep "supported multiqueue"(若显示Multi-queue supported: Yes则支持)。
    • 启用多队列:ethtool -L eth0 combined 4(将网卡队列数设为4,提升并发处理能力)。
  3. DNS优化:修改/etc/resolv.conf,使用高性能DNS服务器(如nameserver 8.8.8.8);或安装dnsmasq作为本地缓存,加快域名解析速度。

六、服务管理:减少不必要的资源占用

  1. 关闭无用服务:通过systemctl命令停止并禁用不需要的服务,例如:
    • sudo systemctl stop firewalld & & sudo systemctl disable firewalld(若无需防火墙)。
    • sudo systemctl stop NetworkManager & & sudo systemctl disable NetworkManager(若使用传统网络配置)。
    • 使用systemctl list-unit-files --state=enabled查看所有启用服务,禁用无用服务。
  2. 优化服务配置:针对常用服务(如Nginx、MySQL)调整配置文件:
    • Nginx:调整worker_processes(设为CPU核心数)、worker_connections(增大单个worker的最大连接数)。
    • MySQL:调整innodb_buffer_pool_size(设为物理内存的50%-70%,提升InnoDB性能)、max_connections(根据并发需求调整)。

七、SELinux设置:降低安全机制带来的性能开销

若无需SELinux的强制访问控制,可将其设为permissive模式(仅记录违规而不阻止)或完全禁用:

  • 编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled
  • 执行setenforce 0立即生效(重启后仍需修改配置文件保持生效)。

八、硬件优化:提升系统基础性能

  1. 增加硬件资源:根据业务需求升级CPU、内存、存储(如将HDD更换为NVMe SSD),直接提升系统处理能力。
  2. 选择高性能硬件:使用千兆及以上网卡、支持PCIe 4.0的SSD,提升网络和磁盘I/O性能。

九、监控与维护:持续优化系统性能

  1. 安装监控工具:使用top(实时查看进程资源占用)、htop(增强版top)、vmstat(查看内存、CPU、I/O统计)、iostat(查看磁盘I/O详情)等工具,定期监控系统状态。
  2. 定期分析性能瓶颈:通过perf(性能分析工具)、strace(跟踪系统调用)等工具,定位CPU、内存、磁盘或网络的瓶颈,针对性优化。

注意事项

  • 优化前务必备份重要数据(如/etc目录、数据库文件)。
  • 在测试环境验证优化效果,避免直接在生产环境修改导致系统不稳定。
  • 根据实际业务需求调整参数(如高并发场景需增大worker_connections,数据库服务器需增大innodb_buffer_pool_size)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS系统如何进行优化
本文地址: https://pptw.com/jishu/744029.html
CentOS下如何安装数据库 Apache日志中的Referer字段代表什么

游客 回复需填写必要信息