CentOS系统优化技巧
sudo yum update -y更新系统和软件包,修复安全漏洞并提升兼容性;使用sudo yum clean all清理YUM缓存,释放磁盘空间。/tmp、/var/tmp目录下的临时文件(如rm -rf /tmp/*);使用journalctl --vacuum-size=100M压缩或清理旧日志,避免日志文件占用过多磁盘空间。编辑/etc/sysctl.conf文件,调整以下关键参数以提升系统性能:
net.ipv4.tcp_tw_reuse = 1)、缩短TIME_WAIT状态超时(net.ipv4.tcp_fin_timeout = 30)、扩大本地端口范围(net.ipv4.ip_local_port_range = "1024 65535")、增加SYN队列长度(net.ipv4.tcp_max_syn_backlog = 8192),并执行sudo sysctl -p使配置生效。vm.swappiness = 10,值越小越倾向于使用物理内存)、调整脏页回收阈值(vm.dirty_background_ratio = 5、vm.dirty_ratio = 10),避免频繁磁盘写入。vm.vfs_cache_pressure = 50,控制内核回收用于目录和inode缓存的内存的倾向,提升文件系统性能。/etc/fstab中为文件系统添加noatime(不记录文件访问时间)、nodiratime(不记录目录访问时间)选项(如/dev/sda1 / ext4 defaults,noatime,nodiratime 0 0),减少不必要的磁盘写入。deadline、SSD用noop),通过echo deadline > /sys/block/sda/queue/scheduler临时生效,修改/etc/default/grub永久生效。net.ipv4.tcp_window_size = 1024000)、SYN队列长度(net.ipv4.tcp_max_syn_backlog = 1024)、最大连接数(net.core.somaxconn = 65535),提升网络吞吐量和并发处理能力。ethtool -l eth0检查网卡是否支持多队列,若支持则用ethtool -L eth0 combined 8开启(将中断分散至多个CPU核心),减少网络延迟。systemctl list-units --type=service列出所有服务,停止并禁用无用服务(如sudo systemctl stop firewalld && sudo systemctl disable firewalld、sudo systemctl disable NetworkManager),减少系统资源占用。worker_processes设为CPU核心数、worker_connections设为1024;MySQL的innodb_buffer_pool_size设为物理内存的70%-80%),提升服务性能。/etc/selinux/config将SELINUX=enforcing改为disabled,并运行setenforce 0立即生效,减少SELinux带来的性能开销。firewall-cmd --list-all查看现有规则,删除不必要的入站/出站规则,仅保留必需的服务端口(如HTTP的80端口、HTTPS的443端口)。top(查看CPU/内存占用)、htop(可视化监控)、iostat(查看磁盘I/O)、vmstat(查看系统整体状态)等工具实时监控系统性能,定位瓶颈(如CPU过高可能是进程问题,磁盘I/O高可能是文件系统问题)。sudo systemctl restart network)或系统,观察性能变化;避免盲目套用网上配置,需结合自身业务场景(如高并发网站需侧重网络和内存优化,数据库服务器需侧重磁盘I/O和内存优化)调整。