памяти, как может ограничить использование своп посгрессом?
Параметр swainess на нуле
Сервак 500гб ram 5гб swap
Может сначала уточнить какой именно процесс постгреса использует своп?
А почему вы решили, что постгрес сожрал своп? Оченно не помешает выхлоп free -h для начала. Потом top -o %MEM -c -b | head -n20 и psql -c "select name,setting from pg_settings where name='shared_buffers'" из консоли сервера (приведённая команда запроса shared_buffers подключается к постгресу локально по через сокет).
Зачем?
Обычный постгрес запрос типа селект
Тогда крутить крутилки типа work_mem, касающиеся обычных рабочих процессов. https://postgrespro.ru/docs/postgresql/14/runtime-config-resource#RUNTIME-CONFIG-RESOURCE-MEMORY
Вытеснение в своп случается тогда когда запросу не хватает work_mem? В данный момент стоит 2ГБ
Мне кажется, надо наоборот — заставить использовать темповые файлы. Но это в порядке теоретизирования: я свопом никогда не заморачивался.
А процесс какой?)
https://pgtune.leopard.in.ua/
Да не, миллион раз все затюнено. Надо с work_mem конечно поиграть
Ошибся, вызывается функция В которой создаётся временная таблица. Роман Выставил 100МБ эффект тот же Сейчас жду результаты с 10ГБ
И большие страницы используются?
Вытеснение в своп случается когда ядро решает, что какие-то данные долго неиспользуются и на их место можно положыть что-то более актуальное.
Принял, этого не избежать ? Хотя 10ГБ проставил для work_mem получше стало
В большынстве случаев избежать этого можно (например, отрубить своп) — но вредно для производительности.
Обсуждают сегодня