Ubuntu Linux ulimit

Содержание
Введение
Одновременные процессы
Количество открытых файлов
Узнать максимум
Статьи про Ubuntu

Введение

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

Среди ограничений, которые можно установить, вы найдете максимальный размер файла, максимальный размер основного файла, максимальный размер резидентной памяти.

Хотя ограничения не зависят от оболочки, точный синтаксис зависит от того, какую оболочку вы используете.

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

nproc

Часто нужно запустить много процессов одновременно.

Например для нагрузочного тестирования

Посмотреть сколько процессов (nproc) используется пользователем можно командой

ps -lfu $(whoami) | wc -l

Например:

ps -lfu root | wc -l

266

ps -lfu andrei | wc -l

8

Предельные значения можно узнать выполнив

ulimit -a

-t: cpu time (seconds) unlimited -f: file size (blocks) unlimited -d: data seg size (kbytes) unlimited -s: stack size (kbytes) 8192 -c: core file size (blocks) 0 -m: resident set size (kbytes) unlimited -u: processes 126675 -n: file descriptors 1024 -l: locked-in-memory size (kbytes) 65536 -v: address space (kbytes) unlimited -x: file locks unlimited -i: pending signals 126675 -q: bytes in POSIX msg queues 819200 -e: max nice 0 -r: max rt priority 0 -N 15: unlimited

Можно попробовать изменить лимит отредактировав файл limits.conf

sudo vi /etc/security/limits.conf

# /etc/security/limits.conf # #Each line describes a limit for a user in the form: # #<domain> <type> <item> <value> # #Where: #<domain> can be: # - a user name # - a group name, with @group syntax # - the wildcard *, for default entry # - the wildcard %, can be also used with %group syntax, # for maxlogin limit # - NOTE: group and wildcard limits are not applied to root. # To apply a limit to the root user, <domain> must be # the literal username root. # #<type> can have the two values: # - "soft" for enforcing the soft limits # - "hard" for enforcing hard limits # #<item> can be one of the following: # - core - limits the core file size (KB) # - data - max data size (KB) # - fsize - maximum filesize (KB) # - memlock - max locked-in-memory address space (KB) # - nofile - max number of open file descriptors # - rss - max resident set size (KB) # - stack - max stack size (KB) # - cpu - max CPU time (MIN) # - nproc - max number of processes # - as - address space limit (KB) # - maxlogins - max number of logins for this user # - maxsyslogins - max number of logins on the system # - priority - the priority to run user process with # - locks - max number of file locks the user can hold # - sigpending - max number of pending signals # - msgqueue - max memory used by POSIX message queues (bytes) # - nice - max nice priority allowed to raise to values: [-20, 19] # - rtprio - max realtime priority # - chroot - change root to directory (Debian-specific) # #<domain> <type> <item> <value> # #* soft core 0 #root hard core 100000 #* hard rss 10000 #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #ftp - chroot /ftp #@student - maxlogins 4 # End of file

nofile

Увеличить лимит на число открытых файлов можно аналогичным способом

sudo cat /etc/systemd/system.conf | grep DefaultLimitNOFILE

#DefaultLimitNOFILE=1024:524288

Измените на нужно вам значение

Перезайдите в терминал

ulimit -a

-t: cpu time (seconds) unlimited -f: file size (blocks) unlimited -d: data seg size (kbytes) unlimited -s: stack size (kbytes) 8192 -c: core file size (blocks) 0 -m: resident set size (kbytes) unlimited -u: processes 126675 -n: file descriptors 1024 -l: locked-in-memory size (kbytes) 65536 -v: address space (kbytes) unlimited -x: file locks unlimited -i: pending signals 126675 -q: bytes in POSIX msg queues 819200 -e: max nice 0 -r: max rt priority 0 -N 15: unlimited

Про все возможные опции можно узнать выполнив

man limits.conf

Либо прочитав статью limits.conf

Узнать максимум

Узнать максимальный возможный лимит можно выполнив

ulimit -Hn

1048576

Похожие статьи
Ubuntu
Установка
Настройка сети
SSH: удалённый доступ
SCP: обмен файлами;
Firewall
Дата и время
X Window System Ubuntu
XRDP: Удалённый рабочий стол
VNC: Удалённый рабочий стол
Изменить machine-id
Изменить ulimit
xclip: работа с буфером обмена
Удалить старые ядра
FAQ
Файлы
Объединить .pdf файлы
diff: сравнение файлов
find: поиск файлов
kill: завершить процесс
make
signal: системные сигналы
env: переменные окружения
localectl: язык
systemctl: Список активных сервисов
cron: задания по расписанию
sudo
Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: