Linux 系统排查基本功 · 系列目录

叙事框架:应用层查不下去时,下钻到 OS 层 总计 52 篇,已发布 0 篇,52 篇待完善


一、CPU 类

  • ⏳ CPU 使用率很高但找不到高 CPU 应用——短时进程排查
  • ⏳ 上下文切换频繁导致性能下降
  • ⏳ 软中断 CPU 使用率升高如何定位
  • ⏳ Load Average 很高但 CPU 空闲——到底是 IO 还是锁?
  • ⏳ CPU 绑定(taskset/numactl)没配好导致性能下降
  • ⏳ NUMA 架构下跨节点内存访问延迟偏高
  • ⏳ CPU 节流(throttling)导致容器内 Java 性能不稳定
  • ⏳ 中断均衡(irqbalance)配置不当导致单核 CPU 100%

二、内存类

  • ⏳ 内存到底去哪了?/proc/meminfo 每一行的排查含义
  • ⏳ Linux OOM Killer 杀了你的 Java 进程?日志里有线索
  • ⏳ 容器中 Java 进程被 killed 但 dmesg 什么都没——memory cgroup 排查
  • ⏳ Swap 使用量飙升对 Java GC 的影响分析
  • ⏳ 大页内存 HugePages 配置不当导致 Java 进程内存超分配
  • ⏳ 内存碎片化导致大块内存分配失败
  • ⏳ tmpfs/ramdisk 用太多导致系统可用内存不足
  • ⏳ 内存泄漏定位:从 vmstat 到 /proc/$pid/smaps 逐层分析
  • ⏳ 进程 RSS 和实际物理内存不一致——共享内存误解

三、磁盘 / IO 类

  • ⏳ 磁盘写满了不光因为日志——Linux 存储排查全景
  • ⏳ 磁盘 IO 延迟突增:从 iostat 到 perf 到块设备逐层分析
  • ⏳ 文件描述符耗尽导致服务不可用
  • ⏳ inode 用完了但 df 显示还有空间——小文件过多排查
  • ⏳ 磁盘 IO 排队导致接口响应变慢
  • ⏳ 文件系统缓存(Page Cache)太大导致业务内存不足
  • ⏳ IOPS 和吞吐量分不清?磁盘性能指标一次说透
  • ⏳ RAID 卡故障/BBU 失效导致磁盘写入极慢
  • ⏳ 文件系统元操作(metadata IO)成瓶颈——ext4 vs xfs 选型
  • ⏳ 磁盘 IO 调度器选错导致延迟抖动
  • ⏳ 逻辑卷(LVM)快照导致 IO 性能骤降
  • ⏳ 裸盘 vs 文件系统 vs 直接 IO——什么时候该用哪个
  • ⏳ 零拷贝(sendfile/splice)原理与生产应用场景

四、网络 / 系统层类

  • ⏳ Linux 网络协议栈参数调优:从 net.core.somaxconn 到 tcp_tw_reuse
  • ⏳ 系统调用过多导致 CPU 100%——strace 定位法
  • ⏳ epoll vs select/poll:从一次 IO 事件等待排查说起
  • ⏳ 文件锁/进程间通信导致的进程 Hang 住
  • ⏳ 最大文件打开数(ulimit -n)设太低导致连接失败
  • ⏳ 进程最大线程数(ulimit -u / pid_max)限制排查
  • ⏳ 容器网络命名空间理解错误导致网络隔离问题

五、进程 / 信号类

  • ⏳ SIGKILL 杀不死的进程——D 状态(Uninterruptible Sleep)排查
  • ⏳ 僵尸进程堆积导致 PID 耗尽
  • ⏳ 容器中 init 进程信号处理不当导致子进程无法优雅退出
  • ⏳ 进程优先级(nice/renice)设错导致关键服务被调度延迟

六、性能分析工具类

  • ⏳ strace 实战:代码没报错但行为不对时
  • ⏳ perf 火焰图从入门到生产实战
  • ⏳ 一文看懂 /proc 文件系统:每个进程目录的秘密
  • ⏳ eBPF 能做什么?一个生产级 CPU 热点追踪实战
  • ⏳ systemd 配置不对导致 Java 进程资源受限
  • ⏳ cgroup 资源限制排查:为什么设了 2 核但只用到 1.5 核
  • ⏳ Linux 性能工具全景图:哪种场景用什么工具

七、启动 / 初始化类

  • ⏳ 系统启动太慢:从 systemd-analyze blame 到逐层优化
  • ⏳ SSH 连接慢:从 DNS 反查到 GSSAPI 鉴权的全链路排查
  • ⏳ crond 定时任务未执行或执行时间偏差排查
  • ⏳ sysctl 参数改了不生效——配置持久化问题

最后更新:2026-06