Activity 等待
后台进程在主循环中休眠,等待新工作到来。
Activity 多数时候只是健康后台进程空闲时的声音。Archiver、checkpointer、WAL writer、autovacuum launcher、复制 worker 等进程在主循环中等待时会报告各自的名称。
按 backend type 解释
这些事件不应进入前台“等待会话比例”的分母。应把事件与 backend_type 对照,并询问该进程此刻是否本来就该有工作。
- 正常: 一个匹配的后台进程在文档说明的主循环中等待。
- 关注: 事件出现在错误的后端类型、进程缺失,或工作队列增长但它仍空闲。
- 紧急: 必需的后台进度停止——归档积压、不再产生检查点、复制不推进,或关闭无法完成。
值得先认出的事件
| 事件 | 预期进程 |
|---|---|
| AutovacuumMain | 调度周期之间的 autovacuum launcher |
| CheckpointerMain | 等待工作的 checkpointer |
| WalWriterMain | WAL writer 主循环 |
| ArchiverMain | 等待完整 WAL 段的 archiver |
| WalReceiverMain | WAL receiver 主循环 |
| RecoveryWalStream | startup 进程等待流式 WAL |
| IoWorkerMain | PG18 异步 I/O worker 等待工作 |
常见误读
- Activity 在所有后端中占比很高,可能只说明集群很空闲。
- 空闲的 checkpointer 不表示检查点被禁用。
- 正常的等待名称并不能证明进度正常;还要检查队列、积压与时间戳。
- 缺少本应存在的后台进程,通常比看到它的 Activity 等待更重要。
在 archiver 进程的主循环中等待。
在 autovacuum launcher 进程的主循环中等待。
在后台写入器进程休眠时等待。
在后台写入器进程的主循环中等待。
在 checkpointer 进程的主循环中等待。
等待 checkpointer 进程终止。
在 I/O worker 进程的主循环中等待。
在逻辑复制 apply 进程的主循环中等待。
在逻辑复制 launcher 进程的主循环中等待。
在逻辑复制并行 apply 进程的主循环中等待。
在统计收集器进程的主循环中等待。
流式恢复期间,在 startup 进程的主循环中等待 WAL 到达。
在复制槽同步 worker 的主循环中等待。
等待复制槽同步 worker 停止运行。
在 syslogger 进程的主循环中等待。
在 WAL receiver 进程的主循环中等待。
在 WAL sender 进程的主循环中等待。
在 WAL summarizer 中等待生成更多 WAL。
在 WAL writer 进程的主循环中等待。