изменения в файле /etc/security/limits.conf требуют перезагрузки?

делать изменения в /etc/security/limits.conf требуют перезагрузки до вступления в силу?

Как если бы у меня был скрипт, который устанавливает следующие ограничения в /etc/security/limits.conf, требуется ли мне перезагрузить систему до того, как эти ограничения вступят в силу?

* hard nofile 94000
* soft nofile 94000
* hard noproc 64000
* soft noproc 64000
118 голосов | спросил Alexej Magura 9 Jpm1000000pmThu, 09 Jan 2014 22:51:09 +040014 2014, 22:51:09

5 ответов


90

Нет, но вы должны закрыть все окна активных сеансов. Они все еще помнят старые ценности. Другими словами, выйдите из системы и вернитесь. Каждый удаленный новый сеанс или локальная защищенная оболочка вступают в силу изменений limits .

ответил Slyx 9 Jpm1000000pmThu, 09 Jan 2014 23:02:46 +040014 2014, 23:02:46
26

Чтобы временно установить ограничение для открытых файлов для пользователя, к которому вы в данный момент вошли под учетной записью (например, «root»): вы также можете использовать команду ulimit, чтобы изменить значения в текущей оболочке. Однако жесткие ограничения можно отрегулировать только вниз, если вы не root.

Пример:

# 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) 62449
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) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Чтобы изменить nofile на 94000 , вы можете:

ulimit -n 94000
ответил Boogy 10 Jpm1000000pmFri, 10 Jan 2014 12:44:43 +040014 2014, 12:44:43
24

Применить изменения непосредственно к запущенному процессу, если у вас установлен prlimit (поставляется с util-linux-2.21)

prlimit --pid <pid> --<limit>=<soft>:<hard>

например

prlimit --pid 12345 --nofile=1024:2048

См. здесь

ответил Ram 6 PMpMon, 06 Apr 2015 13:21:36 +030021Monday 2015, 13:21:36
12

Ограничения наследуются от родительского процесса к его дочерним процессам. Процессы, выполняемые как root, могут произвольно изменять пределы; другие процессы не могут увеличить жесткие ограничения. Таким образом, жесткие ограничения, установленные процессом входа в систему, влияют на все процессы в сеансе.

Если вы измените /etc/security/limits.conf, это повлияет на все новые сеансы и процессы в этих новых сеансах. Это не повлияет на уже запущенные процессы и процессы, запущенные уже запущенными процессами.

Итак, если вам нужно увеличить некоторые ограничения, вам придется либо выйти из системы, либо зайти в другой сеанс (например, с помощью ssh localhost или на другой консоли).

ответил Gilles 10 Jam1000000amFri, 10 Jan 2014 06:29:41 +040014 2014, 06:29:41
4

Процитировать ответ @ Tombart

  

Эти ограничения будут применены после перезагрузки.

     

Если вы хотите применить изменения без перезагрузки, измените   /etc/pam.d/common-session, добавив эту строку в конец файла:

session required pam_limits.so
ответил serv-inc 5 J000000Tuesday16 2016, 19:04:33

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132