Linux服务器运维手册:从故障排查到内核参数调优的实战指南

Linux服务器运维是每一位后端工程师的基本功。当线上系统出现CPU飙高、内存泄漏、IO阻塞等紧急故障时,快速定位解决问题是衡量运维能力的关键。

CPU故障排查

排查三板斧:先用top/pidstat找到吃CPU进程,再用top -H分析线程级热点,最后用perf record/report深入内核调用栈。%sys过高通常是频繁IO或网络中断;%si(软中断)过高需启用RPS多队列网卡;%iowait过高检查SSD和swap。

内存诊断

通过dmesg查看OOM Killer日志。内存泄漏可用valgrind(开发环境)或bpftrace追踪malloc/free配对。slabtop可实时查看内核Slab分配,定位dentry/TCP socket等缓存泄漏。

磁盘IO

iostat -xz查看磁盘关键指标:await大于10ms、%util大于80%表示瓶颈。iotop定位高IO进程,blktrace追踪块设备层IO路径。

网络排查

ss -s查看TCP状态摘要,大量TIME_WAIT可开启tcp_tw_reuse。mtr --report定位每一跳丢包率。tcpdump抓包分析具体报文。

内核参数调优

高并发网络:somaxconn=65535,tcp_max_syn_backlog=65535,tcp_tw_reuse=1。内存:swappiness=10(倾向回收缓存),dirty_ratio=40,min_free_kbytes=262144。

systemd服务管理

关键配置:Type=主进程类型,Restart=always自动重启,LimitNOFILE=65535文件描述数,PrivateTmp=yes私有tmp隔离,ProtectSystem=full文件系统只读。journalctl -u service -f实时查看。

监控告警体系

Prometheus+node_exporter采集系统指标,process_exporter采集进程指标,Grafana可视化与告警规则,AlertManager发送通知。关键阈值:CPU负载>核心数80%、内存可用<10%、磁盘>85%。

总结

靠救火不是好运维,通过完善的监控告警体系、明确的SOP和日常容量规划才能防患于未然。Chaos Engineering主动演练故障场景持续提升系统韧性。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部