172 похожих чатов

Добрый день, коллеги. Столкнулись с проблемой в postgresql: FATAL: out of

memory
Подробности: Failed on request of size 190 in memory context "CacheMemoryContext".

На машине 8GB 4CPU
По настройкам у нас так:
max_connections 400
shared_buffers 2GB
effective_cache_size 6GB
maintenance_work_mem 1GB
checkpoint_completion_target 0.7
wal_buffers 16MB
default_statistics_target 100
random_page_cost 2
effective_io_concurrency 2
work_mem 128kB
min_wal_size 2GB
max_wal_size 4GB
max_worker_processes 8
max_parallel_workers 8
max_parallel_workers_per_gather 4

занято 50 коннектов в idle.
При поднятии 51 коннекта падаем в out of memory

В какую сторону покопать?

4 ответов

14 просмотров

В сторону ps / top / free и т.п. Т.е. посмотрите, чем и сколько памяти реально занято, и сколько свободной.

1) закрыть коннекты после выполнения нужной работы или использовать пулер 2) какие запросы эти коннекты посылали в базу? 3) покажите фактический расход памяти на момент ошибки nmon, top и т.д.

top и смотреть, кто жрётЪ память, как сказали выше, по-другому никак, совсем никак. Урезать maintenance_work_mem до 64Мб (а может и меньше) - при необходимости определять для конкретной выполняемой операции: mshurutov@~ > select name, setting, context from pg_settings where name = 'maintenance_work_mem'; name | setting | context ----------------------+---------+--------- maintenance_work_mem | 65536 | user (1 row) mshurutov@~ > context == user говорит о том, что данный параметр может быть изменён пользователем в сессии. Вот, гляньте по параметрам и настройкам: https://postgrespro.ru/docs/postgresql/11/view-pg-settings

сверьте свои параметры с https://pgtune.leopard.in.ua/#/

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
4
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Подскажите, можно ведь комбинировать запись данных в один и тот же Stream через TFileStream и через TCompressionStream поочерёдно? Ну т.е. часть данных мне нужно сжать, часть ...
notme
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, кто сталкивался с тем, что Electron.js не разворачивает билд React.js-приложения? Голый body в чёрном цвете, как и должно быть, но остального - нет. Билд работает исп...
..
6
Карта сайта