Ubuntu怎样提高系统稳定性
小樊
39
2025-12-20 06:23:06
Ubuntu提升系统稳定性的实用清单
一 基础维护与更新策略
- 优先选择LTS版本(每2年发布,提供5年安全更新),生产环境尽量避免跨多代直接升级,遵循顺序升级路径(如:20.04 → 22.04 → 24.04),以降低风险。
- 保持系统与内核的及时更新:sudo apt update && sudo apt upgrade;图形/服务器驱动建议通过官方仓库或“软件和更新”工具安装推荐版本,减少兼容性问题。
- 启用自动安全更新:sudo dpkg-reconfigure -plow unattended-upgrades,仅勾选安全更新;如需全量自动更新,可在配置中调整。
- 建立变更与回滚预案:重大更新前备份数据与配置,保留上一个可用内核,更新后观察并保留回退路径。
二 进程与服务稳定性
- 使用进程管理器保障可用性:对关键服务用 systemd 或 supervisord 配置“Restart=on-failure”,崩溃自动拉起。
- 设置资源与并发边界:通过 systemd 的 CPUQuota、MemoryLimit、TasksMax 限制服务资源;对高并发服务适当下调 MaxRequestWorkers/连接数,避免过载。
- 降低OOM风险:为关键服务设置合理的 oom_score_adj,避免被内核优先回收。
- 采用容器隔离(Docker/Podman):将应用与其依赖解耦,减少相互影响;必要时为容器设置内存/CPU 限额与健康检查。
三 资源与存储优化
- 合理配置Swap:内存≤4GB可设约2×;4–16GB设约1×;>16GB建议固定4GB;SSD 建议启用 fstrim.timer 做定期修剪。
- 控制页面置换倾向:视负载调低 vm.swappiness(如10–30),减少抖动;数据库/缓存类负载可适当提高。
- 精简日志与临时文件:配置 logrotate 控制单个日志与保留天数,定期清理 journal:sudo journalctl --vacuum-size=50M。
- 文件系统与磁盘:EXT4 默认已很稳健;如启用 data=writeback 等性能挂载选项,需充分评估数据一致性风险并在非关键环境验证。
四 内核网络与高级调优
- 提升网络稳健与吞吐:调高 net.core.netdev_max_backlog、net.core.somaxconn,适度增大 net.ipv4.tcp_max_syn_backlog;在拥塞或丢包环境可降低 net.ipv4.tcp_retries2 减少长时间重传。
- 网卡卸载与特性:结合 ethtool -K 启用 tso/gso/gro 降低 CPU 负载(在虚拟化/某些驱动组合下需验证)。
- 可选的网络简化:如业务不使用 IPv6,可在 /etc/sysctl.conf 中设置 net.ipv6.conf.all.disable_ipv6=1 并 sysctl -p 生效(变更前评估依赖)。
- 动态调优与基线:使用 tuned 选择更稳健的 profile(如 latency-performance),并在变更前后做基准与回滚预案。
五 监控 备份 与恢复
- 持续监控与告警:部署 netdata 或 Prometheus Node Exporter 观察 CPU、内存、IO、网络与错误率;为关键指标设置阈值告警。
- 最小化攻击面:启用 ufw 默认拒绝入站、放行必要端口(如 22/TCP),并限制 root 远程登录、使用密钥认证。
- 建立备份与演练:定期备份关键数据与配置(如 rsync/tar),并进行周期性恢复演练,验证可用性与完整性。
- 故障处置流程:保留上一个内核以便回滚;对关键服务配置 Restart=always 与健康检查;变更遵循“小步快跑、可回滚、可验证”。