|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
Доброго времени суток! Сервер 64 ядра 256GB ОЗУ PostgreSQL 12.8 (Debian 12.8-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit Debian GNU/Linux 10 (buster) С недавних пор появились фантомные процессы [postgres] причем с 100% утилизацией CPU SystemTime, на несколько секунда или минут висят. Кол-во 3-50 порою забивают весь вывод команды TOP. причем strace процесса пустой root@:/tmp# strace -p 42321 -s 128 -T strace: Process 42321 attached +++ exited with 0 +++ Нагрузка скажем не очень большая 10K tps Профиль нагрузки не менялся, мжт немного вырос, в pg_stat_activity ничего подозрительного нет, вернее этих процессов фантомов там нет и нагрузка от приложения не проседает, только скачет общее CPU до 100% от фантомных процессов с зашкаливающем SystemTime. Подскажите, сталкивался кто с такой бедой? top -с выглядит следующим образом ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 17:41 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
S.e.r.y.i, замерьте количество forks / sec. Типичная причина аномального systime - слишком часто открываете/закрываете коннекты к базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 17:54 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
Честно говоря как замерить forks / sec не представляю возможным. Но все приложения ходят в базу чрз PgBauncer, включил логирование коннектов, в логах появились записи от zabbix локально, где-то 2 коннекта в секунду, не может он такой SystemTime накручивать. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 18:03 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
Предварительно дав checkpoint и на pgBouncer pause, далее попытался отправить postgres в restart так сервер повис с 100 фантомных процессов в TOP, пришлось дать hard reset. После ребута сервера ситуация мало чем изменилась, по прежнему время от времени появляется пачка фантомных процессов. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 18:08 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
S.e.r.y.i Честно говоря как замерить forks / sec не представляю возможным. Но все приложения ходят в базу чрз PgBauncer, включил логирование коннектов, в логах появились записи от zabbix локально, где-то 2 коннекта в секунду, не может он такой SystemTime накручивать. PgBauncer в каком режиме работает? Машина - Виртуалка? думаю имеет смысл посмотреть Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 18:32 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
S.e.r.y.i, strace на какой то из таких процессов чтобы посмотреть чем он занят таким странным. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 18:43 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
По вашему логу - коннектится у вас в основном заббикс. У вас самопальный агент или "коробочный"? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 18:43 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
mefman PgBauncer в каком режиме работает? Машина - Виртуалка? думаю имеет смысл посмотреть Код: sql 1.
pool_mode = transaction сервер железный ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 18:49 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
mefman По вашему логу - коннектится у вас в основном заббикс. У вас самопальный агент или "коробочный"? Новых коннектов нет, потому как приложение работает чрз pgBouncer в режиме pool_mode = transaction и то что новых коннектов нет это нормально. Уже писал выше о нагрузке от приложений ~10К запросов в секунду. Zabbix снимает некоторые метрики чрз psql и для этого делает 2 коннекта в секунду это тоже нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 18:53 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
Maxim Boguk S.e.r.y.i, strace на какой то из таких процессов чтобы посмотреть чем он занят таким странным. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru уже писал выше вывод strace фантомного процесса, он пустой. повторю еще раз root@:/tmp# strace -p 42321 -s 128 -T strace: Process 42321 attached +++ exited with 0 +++ ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 18:54 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
Тогда тяжёлую артиллерию: GDB, attach, bt. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 13:55 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Тогда тяжёлую артиллерию: GDB, attach, bt. ну и "perf" все-таки я бы посмотрел ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 14:11 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
Везде пусто, не perf не strace ничего не выводят, что удивительно, другие процессы postgres прекрасно выводят стек своей работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 18:23 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
Вот еще один нюанс, kill -9 с процессом ничего не делает, он по прежнему висит пока сам не исчезнет. После попыток kill в логах БД пусто, такое ощущение, что это не postgres процессы, и не понятно почему для них не работает kill -9, загадка. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 18:26 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
S.e.r.y.i Везде пусто, не perf не strace ничего не выводят, что удивительно, другие процессы postgres прекрасно выводят стек своей работы. Что значит пусто? Что показывает perf top? Он показывает не процессную информацию а общесистемную. Хотелось бы понять какие события конкретно приходятся на system time. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 19:11 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
Процесс висит, а perf top либо пишет что процесс не найден, либо выводит вот такую ерунду. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 19:33 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
вывод dmesg ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 19:35 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
вывод perf top -a во время пика фантомных процессов. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 19:50 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
вот еще пример raw_spin_lock в TOP ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 19:57 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
вот еще пример хороший ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 20:33 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
S.e.r.y.i, Самое интересное в этих perf top это наличие __bpf_prog_run кругом в top3. Что то у вас там странное с сетевым стеком творится походу (как версия на проверку). В жизни не видел __bpf_prog_run в perf top на базах, это очень очень странно. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2021, 22:39 |
|
Фантомные процессы [postgres] с 100% CPU SystemTime
|
|||
---|---|---|---|
#18+
В итоге, просто поменяли сервер железный, на новый, с аналогичными настройками и характеристиками, проблема с фантомными процессами ушла сразу. perf top -a на новом сервере, если кому интересно (профиль нагрузки БД не менялся). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 10:53 |
|
|
start [/forum/topic.php?fid=53&msg=40107820&tid=1993758]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 384ms |
0 / 0 |