Настройка Systemd¶
В случае выбора системы управления процессами Systemd вы можете произвести дополнительные настройки Systemd-службы Picodata, например увеличить лимит на количество открытых файлов, поменять таймаут ожидания запуска службы и т.п. Рекомендуемый способ переопределения подобных настроек — изменение инвентарного файла Picodata для Ansible.
См. также:
Настройки при этом будут применяться для каждого инстанса кластера.
Настройка лимитов в инвентарном файле¶
По умолчанию для Systemd-службы Picodata выставлены следующие параметры:
LimitNOFILE: 65535 # Increase fd limit for Vinyl
LimitCORE: infinity # Unlimited coredump filesize
TimeoutStartSec: 86400s # Systemd waits until all xlogs are recovered
TimeoutStopSec: 20s # Give a reasonable amount of time to close xlogs
Вы можете переопределить их в инвентарном файле через словарь
systemd_params
, либо в этом же словаре выставить любые другие
параметры, которые используются в Systemd-юнитах.
Пример фрагмента инвентарного файла с определением словаря
systemd_params
:
all:
vars:
systemd_params:
LimitNOFILE: 900000
TimeoutStartSec: '30m'
Системные ограничения¶
Некоторые параметры не могут иметь значение выше установленного в
операционной системе, поэтому для их выставления предварительно нужно
увеличить системные параметры через sysctl
или limits.conf
.
Например, параметр LimitNOFILE
не может превышать системное значение
fs.nr_open
— если вы хотите выставить большее значение, то
предварительно нужно изменить значение в системе:
Узнать текущее значение:
sysctl fs.nr_open
Отредактируйте файл /etc/sysctl.conf
(при отсутствии создайте его),
выставив в нем увеличенное значение параметра fs.nr_open
. Например:
sudo -i
echo "fs.nr_open=999999" >> /etc/sysctl.conf
Примените измененные значения:
sudo sysctl -p
Читайте далее:
Проверка лимитов¶
Лимиты, выставленные для процесса, можно получить командой:
cat /proc/<MainPID>/limits
Значение MainPID
вы можете получить из вывода команды:
systemctl show --property=MainPID picodata
где picodata
— имя службы инстанса.