Проверьте макс. позволенное количество потоков наверняка

Я выполняю сервер Ubuntu 17.10 на VDS. Я работаю 3proxy на нем.
Проблема состоит в том, что VDS так или иначе не позволяет выполнять больше чем 5 000 потоков для каждого процесса, как я думаю. Я думаю поэтому, потому что 3proxy процесс никогда не превышает 5 000 потоков.

Править: ошибка, которую я вижу в журналах:

pthread_create():_Resource_temporarily_unavailable

Таким образом, я хочу проверить, прав ли я относительно этого путем проверки реального предела для каждого процесса потоком. Моя идея состоит в том, чтобы создать сценарий, который запустит столько потоков, сколько система позволит и проверит результат того, сколько будет он быть.

И моя проблема состоит в том, что я не знаю, как создать такой сценарий

2
задан 15 February 2018 в 11:29

1 ответ

Нет никакого предела потоков для каждого процесса!

Но существует предел на общее количество процессов в системе (потоки являются по существу просто процессами с общим адресным пространством на Linux),

cat /proc/sys/kernel/threads-max

Значение по умолчанию является количеством страниц памяти, разделенных на 4. Можно увеличить это как:

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

Существует также предел процессов (потоки), которые отдельный пользователь может создать, видеть ulimit для этого, но это должно быть unlimited на Ubuntu.

2
ответ дан 2 December 2019 в 03:34

Другие вопросы по тегам:

Похожие вопросы: