Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Сотни тысяч файлов в base\pgsql_tmp / 7 сообщений из 7, страница 1 из 1
22.11.2016, 08:37
    #39351571
uranic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сотни тысяч файлов в base\pgsql_tmp
Одна из баз периодически (за последнюю неделю дважды) начинает жутко тормозить. Как выяснилось причина в огромном количестве (200 тыс и более ) нулевых файлов в base\pgsql_tmp. Остановка (с отстреливанием процессов), затем чистка директории и снова запуск спасают ситуацию. Судя по имена и датам создания файлов, такое кол-во файлов создает 1 или 2 процесса в течении получаса.

Postgresql 9.4.4 Windows Server 2012 Standart 32 Гб.

Как найти источник проблем? Что посоветуете? (смена ОС не рассматривается).

--
Пока писал, в голову пришло что можно взять PID из имени файла и по нему попытаться найти сессию виновника.
...
Рейтинг: 0 / 0
22.11.2016, 08:44
    #39351573
Alexius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сотни тысяч файлов в base\pgsql_tmp
uranic,

да, так и надо сделать. по pid в имени файлов найти в pg_stat_activity запрос/сессию. либо включить логгирование временных файлов через log_temp_files, там будет и запрос писаться. хотя не очень понятно, почему файлы нулевые. может вызывается какая-то функция на каждую строку результата и для нее work_mem не хватает.
...
Рейтинг: 0 / 0
22.11.2016, 08:45
    #39351574
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сотни тысяч файлов в base\pgsql_tmp
uranicсмена ОС не рассматривается)

мыши плакали, но продолжали есть кактусы
...
Рейтинг: 0 / 0
22.11.2016, 10:20
    #39351626
uranic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сотни тысяч файлов в base\pgsql_tmp
Alexiusможет вызывается какая-то функция на каждую строку результата и для нее work_mem не хватает

Тоже в эту сторону смотрим, изменили в конфиге, запланировали перезапуск БД.
...
Рейтинг: 0 / 0
22.11.2016, 11:03
    #39351672
Alexius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сотни тысяч файлов в base\pgsql_tmp
uranic,

для изменения log_temp_files достаточно reload. напишите потом что это было, интересно. по идее ненужные файлы должны удаляться и в рамках одной сессии.
...
Рейтинг: 0 / 0
22.11.2016, 13:39
    #39351830
uranic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сотни тысяч файлов в base\pgsql_tmp
Alexiusнапишите потом что это было, интересно. по идее ненужные файлы должны удаляться и в рамках одной сессии.

Обычно они и удаляются (и при перезагрузке тоже) . Но в какой-то момент, что-то происходит - и появляется пару сотен тысяч нулевых файлов (и они продолжают появляться). ОС начинает тормозить на операциях удаления файла из этого каталога. Соответственно база тоже тормозит.

Отпишусь, ждем повторения ситуации, log_temp_files включили (спасибо за наводку!).
...
Рейтинг: 0 / 0
28.11.2016, 08:12
    #39355695
uranic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сотни тысяч файлов в base\pgsql_tmp
К счастью или к сожаление ситуация не повторилось. На выходных перегрузили и work_mem тоже вступил в силу. Так что отписываться не о чем
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Сотни тысяч файлов в base\pgsql_tmp / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]