在 Ubuntu 16.04 中,Autovacuum 占用了 100% 的 CPU 时间

在 Ubuntu 16.04 中,Autovacuum 占用了 100% 的 CPU 时间

在 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 秒即可完成。

https://sourceware.org/bugzilla/show_bug.cgi?id=18441

相关内容