Изменить значение cgroup pid.max? - PullRequest
0 голосов
/ 16 марта 2020

В настоящее время я отслеживаю cannot fork() ошибок на моем сервере Ubuntu, и мне удалось точно определить его значение pid.max 700 в /sys/fs/cgroup/pids/. Однако я могу установить только значения /system.slice/pids.max и /user.slice/pids.max, а не pids.max. Кроме того, они сбрасываются после перезагрузки до значения max, которое снова приводит в действие глобальное значение pids.max.

Можно ли просто изменить его с 700 на что-то более высокое? root + sudo не помогли.

Есть ли другой способ переопределить это значение?

Ответы [ 2 ]

1 голос
/ 07 апреля 2020

После долгих перерывов с моим хостером на сервере они наконец-то пролили бобы.

Я арендовал V-сервер с очень мощным оборудованием за очень небольшие деньги. Подвох? Вы можете запустить только 700 одновременных задач. Вот откуда взялась величина pids.max и превысила значения TasksMax и numprocs.

0 голосов
/ 22 марта 2020

Я думаю, вы ищете директиву DefaultTasksMax= от /etc/systemd/system.conf.

. Вы можете проверить значение времени выполнения, введя systemctl show -p DefaultTasksMax:

$ systemctl show -p DefaultTasksMax
DefaultTasksMax=19096

Если вы sh, чтобы изменить его, просто отредактируйте соответствующую строку директивы в /etc/systemd/system.conf. Аналогичная директива (TasksMax=) существует для настройки этого параметра в расчете на единицу.

Соответствующая документация [0] [1] фрагменты:

TasksMax = N

Укажите максимальное количество задач, которое может быть создано в устройстве. Это гарантирует, что количество задач, приходящихся на единицу (см. Выше), остается ниже установленного предела c. Для этого требуется либо абсолютное количество задач, либо процентное значение, которое принимается относительно настроенного максимального количества задач в системе. Если назначено специальное значение «бесконечность», ограничение задач не применяется. Это управляет атрибутом группы управления "pids.max". Подробнее об этом атрибуте группы управления см. Контроллер номера процесса .

Системным значением по умолчанию для этого параметра можно управлять с помощью DefaultTasksMax = в systemd-system.conf (5).

DefaultTasksMax =

Сконфигурируйте значение по умолчанию для параметра TasksMax = для каждой единицы. Подробности смотрите в systemd.resource-control (5). Этот параметр применяется ко всем типам блоков, которые поддерживают настройки управления ресурсами, за исключением блоков срезов. По умолчанию 15%, что соответствует 4915 с настройками ядра на хосте, но может быть меньше в контейнерах ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...