我正在测试 PostgreSQL(v12)(server1) 并使用 pgbench (server2) 应用负载。
裸机 server1 配置:
- 80 个逻辑 CPU(Intel Xeon Gold 6230 2.10GHz)
- 800GB 内存
- 用于 Postgres 表空间 (550Gb) 的 RAM 中的 tmpfs 磁盘
- 红帽 EntLinux 7.9、3.10.0-1160.15.2.el7.x86_64
我看到很多(~5-40)被阻塞的进程(vmstat 列“b”)和 CPU 等待(~25%)。通常,它表示降级 IO 系统,但现在我使用 RAM 磁盘 (tmpfs)。
交换失踪。
我使用 bcc-tools 将 off-cpu 事件收集为“offcputime -f 10”并制作了一个 FlameGraph。
但我不明白发生了什么:)
我看到 43% 的正常上下文切换和一点点“bit_wait_io”。
什么是“bit_wait_io”,为什么是 CPU 等待?
谢谢