CentOS Linux ulimit
Введение | |
Одновременные процессы | |
Количество открытых файлов | |
Статьи про CentOS |
Введение
ulimit - это встроенная команда оболочки, используемая для отображения и установки различных ограничений на использование ресурсов для оболочки.
Среди ограничений, которые можно установить, вы найдете максимальный размер файла, максимальный размер основного файла, максимальный размер резидентной памяти.
Хотя ограничения не зависят от оболочки, точный синтаксис зависит от того, какую оболочку вы используете.
Рекомендуется установить некоторые из этих ограничений, чтобы, например, не допустить, чтобы неисправный сценарий оболочки запускал неограниченное количество копий самого себя или чтобы пользователи в системе не запускали процессы, которые выполняются вечно.
nproc
Часто нужно запустить много процессов одновременно.
Например для
нагрузочного тестирования
Посмотреть сколько процессов (nproc) используется пользователем можно командой
ps -lfu $(whoami) | wc -l
Например:
ps -lfu root | wc -l
266
ps -lfu andrei | wc -l
8
Предельные значения можно узнать выполнив
ulimit -a
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 31190 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 1024 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
Можно попробовать изменить лимит отредактировав файл limits.conf
sudo vi /etc/security/limits.conf
#* soft core 0 #* hard rss 10000 #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #@student - maxlogins 4 andrei soft nproc 20000 andrei hard nproc 22000 # End of file
Если это не помогает - отредактируйте 20-nproc.conf
sudo vi /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 4096 root soft nproc unlimited andrei soft nproc 10001 andrei hard nproc 11000
Перезайдите в терминал
ulimit -a
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 31190 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 10001 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
РЕКЛАМА от Яндекса. Может быть недоступна в вашем регионе
Конец рекламы от Яндекса. Если в блоке пусто считайте это рекламой моей телеги
nofile
Увеличить лимит на число открытых файлов можно аналогичным способом
sudo vi /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 4096 root soft nproc unlimited andrei soft nofile 2048
Перезайдите в терминал
ulimit -a
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 31190 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 10001 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
Про все возможные опции можно узнать выполнив
man limits.conf
Либо прочитав статью limits.conf