Невозможно изменить /proc/sys/kernel / threads-max

в настоящее время я создаю инструмент стресс-тестирования, и поэтому мне нужно довольно большое количество потоков. Я уже прошел все настройки, чтобы поднять лимит, но есть одна последняя настройка, верхний общесистемный лимит в /proc/sys/kernel/threads-max, что я, кажется, не в состоянии изменить.

пробовал

sysctl -w kernel.threads-max=200000

редактирование вручную с nano или echo

echo 200000 > /proc/sys/kernel/threads-max

редактирование /etc/sysctl.conf и под управлением

sysctl -f

если я запускаю их как sudo, I ошибка не отображается (новое значение даже отображается), но при повторной проверке значение также не изменилось. При попытке изменить значение с помощью gedit, ей плевать

недопустимый аргумент"

независимо от стоимости я стараюсь, даже оригинал. У меня не было проблем с изменением pid_max значение.

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

11
задан Greenonline
04.05.2023 13:10 Количество просмотров материала 2360
Распечатать страницу

1 ответ

repsonse лежит в man proc(5), вот интересная часть:

 /proc/sys/kernel/threads-max (since Linux 2.3.11)
                     This file specifies the system-wide limit on the number
                     of threads (tasks) that can be created on the system.

                     Since Linux 4.1, the value that can be written to
                     threads-max is bounded.  The minimum value that can be
                     written is 20.  The maximum value that can be written
                     is given by the constant FUTEX_TID_MASK (0x3fffffff).
                     If a value outside of this range is written to threads-
                     max, the error EINVAL occurs.

                     The value written is checked against the available RAM
                     pages.  If the thread structures would occupy too much
                     (more than 1/8th) of the available RAM pages, threads-
                     max is reduced accordingly.

Я предполагаю, что у вас ядро версии > 4.1, так что после 200000 (число попыток) меньше 0x3fffffff, проблема похоже в оперативной памяти не достаточно.

2
отвечен pim 2023-05-05 20:58

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх