在 Ubuntu 16.04 上运行 Postgres 时,自动清理进程在短时间后就会使用 100% 的 CPU。
ps 辅助 | postgres 命令
postgres 79654 72.7 0.1 402164 226580 ? Rs Apr17 66:48 postgres: 9.6/main: autovacuum worker process test
postgres 82850 0.4 0.1 379972 200984 ? Ss Apr17 0:14 postgres: 9.6/main: autovacuum worker process test
postgres 83444 85.5 0.1 329888 161160 ? Rs Apr17 41:53 postgres: 9.6/main: autovacuum worker process test
顶部
79654 postgres 20 0 402164 226580 144188 R 100.0 0.2 66:45.14 postgres
83444 postgres 20 0 329888 161160 141916 R 100.0 0.1 41:50.45 postgres
86969 postgres 20 0 323852 161760 151372 R 100.0 0.1 1:58.84 postgres
86973 postgres 20 0 322976 161284 151412 R 88.2 0.1 1:24.82 postgres
相同的配置在 Ubuntu 14.04 上运行良好... 使用 PG 9.4/9.5/9.6 和 postgres.conf 默认配置进行了测试。U16.04 有什么问题?
答案1
有趣的是没有人找到答案......
这是 glibc 的一个错误:从 Ubuntu 14.10(glibc 2.19)升级到 15.04(glibc 2.21)后,我们在一个特定的 PostgreSQL 索引创建中遇到了严重的性能下降。索引创建现在需要 10 多分钟,而之前只需大约 30 秒即可完成。