Running Postgres on Ubuntu 16.04 autovacuum processes are using 100% CPU after a short time.
ps aux | grep 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
top
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
The same configuration runs on Ubuntu 14.04 like a charm... Tested with PG 9.4/9.5/9.6 and postgres.conf default config. What's the matter with U16.04?
Interesting that nobody found the answer...
It's a glibc bug: After upgrading from Ubuntu 14.10 (glibc 2.19) to 15.04 (glibc 2.21), we are experiencing a big performance regression in one particular PostgreSQL index creation. The index creation now takes more than 10 minutes, while before it was done in about 30 seconds.
https://sourceware.org/bugzilla/show_bug.cgi?id=18441