/etc/security/limits.conf не применяется

11

У меня /etc/security/limits.conf, кажется, не было применено:

a soft nofile 1048576 # default: 1024
a hard nofile 2097152
a soft noproc 262144  # default 128039
a hard noproc 524288  

Где aмое имя пользователя, когда я запускаю, ulimit -Hnи ulimit -Snэто показывает:

4096
1024

В /etc/security/limits.dэтом контенте есть только один файл :

scylla  -  core     unlimited
scylla  -  memlock  unlimited
scylla  -  nofile   200000
scylla  -  as       unlimited
scylla  -  nproc    8096

Я попытался также добавить эти значения для /etc/security/limits.confперезапуска, и сделать это:

echo '
session required pam_limits.so
' | sudo tee -a /etc/pam.d/common-session

но это не сработало. Моя ОС есть Ubuntu 17.04.

Kokizzu
источник
1
См. Также serverfault.com/questions/569288/…
Рэндалл Уитмен,

Ответы:

11

/superuser/1200539/cannot-increase-open-file-limit-past-4096-ubuntu/1200818# =

Существует ошибка с Ubuntu 16, по-видимому.

В принципе:

  1. Отредактируйте /etc/systemd/user.confдля мягкого ограничения и добавьте DefaultLimitNOFILE=1048576.
  2. Отредактируйте /etc/systemd/system.confдля мягкого ограничения и добавьте DefaultLimitNOFILE=2097152.

Кредит идет в @mkasberg .

daniel.gindi
источник
После этих настроек нам нужно перезагрузить?
Махеш
1
Да, перезагрузка потребовалась, когда я попробовал.
daniel.gindi
6

Альтернатива для тех, кто предпочитает не редактировать файлы по умолчанию /etc/systemd/system.confи /etc/systemd/user/conf:

  1. создайте новый файл /etc/systemd/system.conf.d/limits.confс таким содержанием:

    [Manager]
    DefaultLimitNOFILE=1048576:2097152
    DefaultLimitNPROC=262144:524288
    
  2. запускать systemctl daemon-reexecс правами root

  3. Выйдите из системы и войдите снова

  4. проверить новые границы ни с одной ulimit -aили ulimit -nи ulimit -uдля максимальных открытых файлов и максимальное количество процессов, соответственно.

Обратитесь к systemd-system.confстранице справки для деталей.

Marc.2377
источник