如何用centos进行系统优化
导读:一、基础准备:更新系统与清理冗余 在优化前,需确保系统及软件包为最新版本,修复已知漏洞并提升兼容性: sudo yum update -y && sudo yum clean all # 更新系统并清理yum缓存 清理无...
一、基础准备:更新系统与清理冗余 在优化前,需确保系统及软件包为最新版本,修复已知漏洞并提升兼容性:
sudo yum update -y &
&
sudo yum clean all # 更新系统并清理yum缓存
清理无用软件包(自动移除不再需要的依赖):
sudo yum autoremove -y
清理旧内核(保留2个最新内核,避免占用过多磁盘空间):
sudo package-cleanup --oldkernels --count=2 -y
清理日志文件(截断超过7天的50M以上日志,删除30天以上的旧日志):
find /var/log -type f -name "*.log" -size +50M -mtime +7 -exec truncate -s 0 {
}
\;
find /var/log -type f -mtime +30 -exec rm -f {
}
\;
清理临时文件(删除/tmp和/var/tmp目录下的所有文件):
sudo rm -rf /tmp/* /var/tmp/*
二、内核参数调优:提升系统内核性能
编辑/etc/sysctl.conf文件,添加或修改以下关键参数,优化TCP连接、内存管理及网络性能:
# TCP连接复用与超时设置
net.ipv4.tcp_tw_reuse = 1 # 允许复用处于TIME_WAIT状态的连接
net.ipv4.tcp_tw_recycle = 1 # 快速回收TIME_WAIT连接(注意:在NAT环境下可能引发问题,需谨慎使用)
net.ipv4.tcp_fin_timeout = 30 # TIME_WAIT状态的超时时间为30秒
net.ipv4.tcp_keepalive_time = 1200 # TCP keepalive探测间隔为1200秒
# 端口与队列设置
net.ipv4.ip_local_port_range = "1024 65535" # 本地端口范围扩大至1024-65535
net.ipv4.tcp_max_syn_backlog = 8192 # SYN队列最大长度为8192
net.core.somaxconn = 1024 # 监听队列最大长度为1024
net.core.netdev_max_backlog = 2000 # 网络设备接收队列最大长度为2000
net.ipv4.tcp_max_orphans = 32768 # 最大孤儿连接数为32768
net.ipv4.tcp_syncookies = 1 # 开启SYN cookies防止SYN Flood攻击
使参数立即生效:
sudo sysctl -p
三、内存管理优化:合理分配内存资源
调整Swap分区使用倾向(swappiness值越小,系统越倾向于使用物理内存):
# 查看当前swappiness值(默认60)
cat /proc/sys/vm/swappiness
# 临时设置为10(推荐值:10-30,内存充足时可设为1)
sudo sysctl vm.swappiness=10
# 永久生效:修改/etc/sysctl.conf
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
# 调整脏页写入策略(减少磁盘I/O次数)
sudo sysctl vm.dirty_ratio=10 # 内存脏页占比达到10%时触发写入
sudo sysctl vm.dirty_background_ratio=5 # 后台写入线程启动阈值设为5%
# 永久生效:添加至/etc/sysctl.conf
echo "vm.dirty_ratio=10" | sudo tee -a /etc/sysctl.conf
echo "vm.dirty_background_ratio=5" | sudo tee -a /etc/sysctl.conf
四、磁盘I/O优化:提升磁盘读写性能
- 调整I/O调度器(根据磁盘类型选择,机械盘推荐
deadline,SSD推荐noop):
# 查看当前调度器(如/dev/sda)
cat /sys/block/sda/queue/scheduler
# 临时修改为deadline(方括号内为当前值)
echo deadline | sudo tee /sys/block/sda/queue/scheduler
# 永久生效:修改GRUB配置
sudo sed -i 's/GRUB_CMDLINE_LINUX="[^"]*/&
elevator=deadline/' /etc/default/grub
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- 优化文件系统挂载选项(减少磁盘I/O操作):
编辑/etc/fstab文件,在对应分区(如/dev/sda1)的挂载选项中添加noatime,nodiratime(不记录文件访问时间):
/dev/sda1 / ext4 defaults,noatime,nodiratime 0 0
# 重新挂载分区使设置生效
sudo mount -o remount /
五、网络优化:提高网络吞吐与响应速度
- 调整TCP窗口大小(提升大数据量传输效率):
sudo sysctl net.ipv4.tcp_window_size=1024000 # 窗口大小设为1024000字节
# 永久生效:添加至/etc/sysctl.conf
echo "net.ipv4.tcp_window_size=1024000" | sudo tee -a /etc/sysctl.conf
- 启用网卡多队列(提升多核CPU的网络处理能力):
# 检查网卡是否支持多队列(如eth0)
ethtool -l eth0 | grep "supported multiqueue"
# 启用多队列(假设支持4队列)
ethtool -L eth0 combined 4
# 永久生效:将命令添加至/etc/rc.local文件(需赋予执行权限)
echo "ethtool -L eth0 combined 4" | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local
六、服务管理:关闭不必要的服务
通过systemctl命令停止并禁用不需要的服务(以firewalld为例,若无需防火墙可关闭):
sudo systemctl stop firewalld.service # 停止服务
sudo systemctl disable firewalld.service # 禁止开机启动
其他常见可不需要的服务:NetworkManager(若用传统网络脚本)、avahi-daemon(零配置网络服务)、cups(打印服务)等,可根据实际需求禁用。
七、SELinux设置:减少安全策略开销
若无需SELinux的强制访问控制,可将其设置为permissive模式(仅记录违规行为,不阻止)或完全禁用:
# 修改SELinux配置文件
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
# 立即生效(无需重启)
sudo setenforce 0
八、监控与持续优化:及时发现问题 使用以下工具定期监控系统性能,识别瓶颈:
- 实时监控:
top(查看CPU、内存占用)、htop(增强版top,支持颜色和排序)、vmstat 1(查看系统整体状态,每秒刷新一次)。 - 磁盘I/O监控:
iostat -x 1(查看磁盘读写延迟、利用率)。 - 网络监控:
iftop(查看实时网络流量)、nload(监控带宽使用情况)。 - 日志分析:
journalctl -xe(查看系统日志)、tail -f /var/log/messages(实时跟踪日志)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何用centos进行系统优化
本文地址: https://pptw.com/jishu/744072.html
