Назад | Перейти на главную страницу

Как мне запустить Postgres под «хорошим»?

Обычно я запускаю Postgres с pg_ctl -D /db start

Как я могу сделать так, чтобы он запускался под "хорошим", чтобы он работал с более низким приоритетом?

Вы должны "улучшить" все серверные процессы, а не только почтмейстера: http://wiki.postgresql.org/wiki/Priorities

В systemd вам может понадобиться нечто подобное - обратите внимание, что здесь (Debian / Ubuntu) версия движка и имя кластера могут использоваться для управления определенной службой, но это может не относиться к вашему дистрибутиву:

# systemctl edit postgresql@10-main

[Service]
Nice=15
IOSchedulingClass=2
IOSchedulingPriority=7

# service postgresql@10-main restart

Я включил планирование ввода-вывода, так как вы также можете это контролировать, но, конечно, вы можете не указывать это. Он может быть установлен автоматически в зависимости от уровня nice, если вы не устанавливаете его явно. Меньший - более высокий приоритет, 0-7 в пределах класса 2 (максимальные усилия). Класс 3 простаивает. Класс 1 - это режим реального времени, вы, вероятно, этого не хотите.

nice pg_ctl -D /db start

Используйте команду nice, чтобы запустить программу с измененным приоритетом / удобством планирования. По крайней мере, от -20 (наиболее благоприятное расписание) до 19 (наименее благоприятное). Поведение по умолчанию - повысить удобство на 10.

Удобство не следует путать с приоритетом планирования, который позволяет приложениям определять порядок, в котором запланировано выполнение потоков. В отличие от приоритета, любезность - это просто совет для планировщика, который планировщик может игнорировать.