CentOS镜像安装后系统性能优化指南
sudo yum update -y更新所有系统软件包至最新版本,修复已知漏洞并提升兼容性与稳定性。systemctl list-unit-files --type=service列出所有服务,禁用不需要的服务(如firewalld、NetworkManager,若无需防火墙或网络管理):sudo systemctl stop service_name && sudo systemctl disable service_name
减少后台进程对CPU、内存的占用。yum list installed查看已安装软件包,删除无用软件(如sudo yum remove package_name);清理/tmp、/var/tmp目录下的临时文件,使用yum clean all清理yum缓存,释放磁盘空间。调整内存管理参数
编辑/etc/sysctl.conf,添加或修改以下参数以优化内存使用:
vm.swappiness=10:降低系统对交换分区(Swap)的依赖(0-10适合服务器,数值越小越优先使用物理内存);vm.dirty_ratio=10:当脏页(未写入磁盘的内存数据)占内存比例达10%时,触发后台写入;vm.dirty_background_ratio=5:当脏页占内存比例达5%时,启动后台写入进程;vm.vfs_cache_pressure=50:调整虚拟文件系统(VFS)缓存压力,数值越大,内核越倾向于回收缓存。sudo sysctl -p使配置生效。优化网络参数
在/etc/sysctl.conf中添加以下参数,提升网络吞吐量与连接效率:
net.ipv4.tcp_tw_reuse=1:允许复用TIME_WAIT状态的TCP连接;net.ipv4.tcp_fin_timeout=15:缩短TIME_WAIT状态超时时间(默认60秒);net.core.somaxconn=65535:增加TCP连接队列长度(默认128,适合高并发场景);net.ipv4.tcp_max_syn_backlog=8192:增加SYN队列长度(默认1024,应对大量并发连接请求);net.ipv4.ip_local_port_range="1024 65535":扩大本地端口范围,支持更多并发连接。sudo sysctl -p使配置生效。调整文件描述符限制
编辑/etc/security/limits.conf,添加以下内容,提高用户进程能打开的文件数(避免因文件描述符耗尽导致服务崩溃):
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
重启系统或重新登录使配置生效。
选择高性能存储与挂载选项
/etc/fstab,为文件系统添加noatime(不更新文件访问时间)、nodiratime(不更新目录访问时间)选项,减少不必要的磁盘写操作。例如:/dev/sda1 / ext4 defaults,noatime,nodiratime 0 0
执行sudo mount -a重新挂载文件系统。调整I/O调度器
根据磁盘类型选择合适的I/O调度器(默认CFQ适合机械硬盘,Deadline/NOOP适合SSD):
cat /sys/block/sdX/queue/scheduler(sdX为磁盘设备名,如sda);echo deadline | sudo tee /sys/block/sdX/queue/scheduler
若需永久生效,可将elevator=deadline添加到内核启动参数(/etc/default/grub中的GRUB_CMDLINE_LINUX行)。优化文件系统
noatime、nodiratime;对于EXT4,可添加data=writeback(减少日志写入,提升写入性能,但需注意数据一致性)。禁用SELinux(可选)
若无需SELinux的强制访问控制,可关闭以减少系统资源消耗:
/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled;setenforce 0临时生效(重启后永久生效)。SSH服务优化
/etc/ssh/sshd_config,将#Port 22改为Port 2222(或其他非标准端口);PermitRootLogin yes改为PermitRootLogin no;ssh-keygen -t rsa),将公钥复制至服务器(ssh-copy-id user@ip);#LoginGraceTime 2m改为LoginGraceTime 1m。htop(实时查看CPU、内存、进程)、iotop(监控磁盘I/O)、nmon(综合监控系统性能)等工具,定期检查系统资源使用情况:sudo yum install htop iotop nmon -y
logrotate工具自动轮转日志(避免日志文件过大占用磁盘空间),或手动清理旧日志(如/var/log/messages、/var/log/secure)。以上优化措施需根据服务器实际用途(如Web服务器、数据库服务器、高性能计算节点)调整,建议在测试环境中验证后再应用于生产环境。