Linux 教程(100):高级运维与故障排查

这篇汇总 Linux 高级运维中最常用的性能优化与故障排查命令:CPU、内存、磁盘 IO 调优,系统启动、网络、服务问题定位,以及备份恢复、监控告警、自动化运维和容器化的核心操作。命令都可直接复制执行,建议收藏当速查手册用。

性能优化

CPU 优化

先用 top -H 找出最占 CPU 的线程,再用 pidstat 持续观察;确认后按需调整进程优先级:

# 查看 CPU 使用(-H 显示线程)
top -H -p PID
pidstat -u 1

# 调整进程优先级
nice -n 10 command          # 启动时降低优先级
renice -n 5 -p PID          # 修改运行中进程

内存优化

重点关注 free -h 里的 available 列;缓存清理命令一般只在做压测、数据库调优时才用:

# 查看内存使用
free -h
vmstat 1

# 清理页缓存(生产环境慎用)
sync && echo 3 > /proc/sys/vm/drop_caches

磁盘 IO 优化

# 查看 IO 等待(%util 高、await 大说明磁盘是瓶颈)
iostat -x 1
iotop

# 调整 IO 调度器(SSD 建议 none,HDD 建议 deadline/mq-deadline)
cat /sys/block/sda/queue/scheduler
echo deadline > /sys/block/sda/queue/scheduler

故障排查

系统启动问题

# 查看本次/上次启动日志
journalctl -b
journalctl -b -1

# 查看启动耗时分析
systemd-analyze blame

# 进入单用户模式:重启在 GRUB 界面按 e,linux 行末尾加 init=/bin/bash 后 Ctrl+X

网络问题

排查顺序:先看网卡和路由,再测连通性,最后查 DNS:

# 检查网络配置
ip addr show
ip route show

# 测试连通性
ping -c 4 8.8.8.8
traceroute google.com

# 检查 DNS
nslookup google.com
dig @8.8.8.8 google.com

服务问题

# 查看服务状态与日志
systemctl status service
journalctl -u service -f        # -f 实时跟踪

# 重启服务并验证
systemctl restart service
systemctl is-active service

备份恢复

tar 备份

# 创建备份(排除大目录)
tar -czvf backup.tar.gz /home --exclude=/home/user/cache

# 恢复备份
tar -xzvf backup.tar.gz -C /

rsync 同步

增量同步,比 tar 更适合日常备份;--delete 让目标端与源端完全一致,用前确认方向:

# 本地同步
rsync -av source/ dest/

# 远程同步(走 SSH)
rsync -avz source/ user@host:/dest/

监控告警

Zabbix 适合企业级监控,Nagios 更轻量;监控项建议覆盖 CPU 负载、内存、磁盘空间、服务存活和端口连通性:

# 安装监控工具(RHEL/CentOS 用 dnf 或配置 EPEL)
dnf install zabbix-agent
apt install nagios

# 关键配置:/etc/zabbix/zabbix_agentd.conf 中的 Server= 指向 Zabbix 服务端

自动化运维

Ansible 是当前主流(无 agent、YAML playbook),Puppet/Chef 适合大规模存量环境:

# Ansible
ansible all -m ping                 # 测试主机连通
ansible-playbook playbook.yml       # 执行剧本

# Puppet / Chef(存量环境)
puppet agent -t
chef-client

容器化

# Docker 基础
docker run -it ubuntu bash
docker ps
docker images

# Kubernetes 基础
kubectl get pods
kubectl get services
kubectl describe pod POD_NAME

最佳实践

  • 定期更新系统与安全补丁
  • 监控关键指标并设置合理告警阈值
  • 建立备份策略并定期演练恢复
  • 文档化配置与变更记录
  • 自动化重复任务,减少人为失误

发表回复

后才能评论