Тюнинг ядра для IPv6 прокси
Тюнинг ядра для большого числа потоков
Кроме широкоизвестных параметров ulimit -n и ulimit -u количество потоков ограничено параметром sysctl kernel.threads-max. Этот параметр принимает максимальное значение, равное примерно количеству оперативной памяти в килобайтах/128 , если более точно — lxr.free-electrons.com/source/kernel/fork.c#L282. Изменить его нельзя, кроме как модификацией исходников ядра. На 8Gb оперативной памяти значение будет примерно такое kernel.threads-max = 62372, на 12Gb — kernel.threads-max = 95120
Итак, следует проверить чему равен параметр
Если нас не устраивает текущее значение, то следует добавить серверу оперативной памяти. Например, перейти на тариф Cloud16 vpsville.ru/cloud/
Таким образом можно добиться количества потоков равного kernel.threads-max (в случае модифицированного ядра — и больше).
В /etc/sysctl.conf модифицировать параметры
И применить изменения командой
Настройка kernel.threads-max
Внимание, данная настройка проверена не работает на Ubuntu 16.04. Ubuntu устанавливает собственные параметры для kernel.threads-max мы не рекомендуем настраивать прокси на этой системе. Проверенной системой является Debian Jessie 8.0.Кроме широкоизвестных параметров ulimit -n и ulimit -u количество потоков ограничено параметром sysctl kernel.threads-max. Этот параметр принимает максимальное значение, равное примерно количеству оперативной памяти в килобайтах/128 , если более точно — lxr.free-electrons.com/source/kernel/fork.c#L282. Изменить его нельзя, кроме как модификацией исходников ядра. На 8Gb оперативной памяти значение будет примерно такое kernel.threads-max = 62372, на 12Gb — kernel.threads-max = 95120
Итак, следует проверить чему равен параметр
sysctl -a | grep kernel.threads-max
Если нас не устраивает текущее значение, то следует добавить серверу оперативной памяти. Например, перейти на тариф Cloud16 vpsville.ru/cloud/
Настройка vm.max_map_count и kernel.pid_max
Дополнительно кол-во тредов лимитируется разрешенным кол-вом pid-ов в /proc/sys/kernel/pid_max (здесь значение не ограничено 65535) и кол-вом регионов памяти /proc/sys/vm/max_map_count, эти опции доступны для модификации и их нужно увеличивать до нужного размера.Таким образом можно добиться количества потоков равного kernel.threads-max (в случае модифицированного ядра — и больше).
В /etc/sysctl.conf модифицировать параметры
vm.max_map_count=95120
kernel.pid_max=95120
И применить изменения командой
sysctl -p
- 0
- 18 мая 2016, 15:59
- admin
«В /etc/sysct.conf модифицировать параметры» Ошибку исправьте /etc/sysctl.conf
- ValeriyPavlov
- 30 мая 2016, 13:31
- ↓
Комментарии (2)
RSS свернуть / развернуть