Изменить ulimit в CentOS
Одновременные процессы | |
Количество открытых файлов |
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