能力缺口:只会用 top 看负载,说不清进程到底卡在哪

很多转岗做运维或后端开发的人,在排查机器卡顿时,操作往往只停留在敲一个 top 命令,看眼平均负载,发现数值偏高就直接重启服务。这门课要解决的就是这种“知其然不知其所以然”的问题。它把重点放在 Linux 操作系统底层的进程生命周期和资源调度上,从内核怎么创建和销毁进程、进程优先级如何分配 CPU 时间片,到不同状态(如不可中断睡眠 D 状态)的进程到底在等什么资源。如果你对系统运行缓慢的定位还停留在“重启试试”,或者看不懂内存与 Swap 的真实占用关系,那么这部分内容就是用来填补底层概念缺口的。

建议先看哪几块:从进程本质到监控工具的对应

这套资料的基础要求是你得有基本的 Linux 命令行操作能力,知道怎么在终端里敲命令。建议学习时不要直接跳到命令讲解,先看前半部分关于操作系统架构和进程概念的几块内容。把进程的创建、销毁、类型和状态变化这些底层逻辑弄明白,再去看具体的监控工具。后半部分的资料线索集中在具体的命令上,从基础的 pstree、ps 详解,到 pgrep、pkill、pidof,再到系统级监控的 top、htop、vmstat、pmap、glances 和 dstat,最后是控制进程的 kill 用法。先理解进程在内核里的数据结构,再去对照看这些命令输出的字段,你会立刻明白每一项指标背后的物理意义,而不是死记硬背参数。

资料配合练习与学完应能回答的问题

看资料时必须开一台虚拟机跟着敲,光看视频是学不会排障的。练习时可以这样配合:先用 pstree 和 ps 把当前系统的进程树结构和快照摸清楚,自己手动用 kill 和 pkill 去发送不同信号,观察进程的销毁过程;接着开个终端跑压力测试工具制造高负载,用 vmstat 看上下文切换和 CPU 队列,用 pmap 看特定进程的内存映射分布,最后用 glances 和 dstat 做综合的资源聚合监控。学完这套内容,你应该能独立回答并处理以下问题:机器负载高但 CPU 占用率不高时,怎么排查是不是磁盘瓶颈导致的进程 D 状态堆积;如何根据 nice 值调整进程优先级来保障核心业务;vmstat 输出里的 bi、bo、si、so 分别代表什么物理动作,以及怎么用 ps 快速抓出占用内存最大的几个进程。把这些概念和工具对应上,遇到线上资源告警才不会手忙脚乱。

课程目录

1 Linux操作系统架构简述 (19:34)
2 进程概念和运行过程讲解 (20:02)
3 linux进程的创建和销毁 (20:02)
4 进程优先级详解 (20:02)
5 内存进程讲解 (20:02)
6 进程的类型、状态及进程分类 (19:54)
7 linux OS基础概念讲解 (19:37)
8 进程管理常用命令之pstree讲解 (19:37)
9 进程管理常用命令之ps详解 (19:37)
10 ps详解续及pgrep和pkill用法 (19:37)
11 pidof、top、upime命令讲解 (19:36)
12 命令回顾及htop引入 (21:21)
13 htop和vmstat用法详解 (21:21)
14 vmstat用法续及pmap讲解 (21:21)
15 glances和dstat用法详解 (21:21)
16 kill用法详解 (21:19)
17 job作业及常用管理命令 (21:04)
18 网络客户端工具ping (21:04)
19 traceroute、ftp和wget用法讲解 (21:04)
20 bash脚本之for、while循环 (20:59)