GNU/Linux >> Znalost Linux >  >> Ubuntu

Trvalé zvyšování limitů Nofile v Ubuntu 14,04 Lts?

Nedokážu přijít na to, co přesně je potřeba k tomu, aby bylo možné trvale zvýšit maximální počet deskriptorů souborů pro všechny uživatele.

/etc/security/limits.conf :

root    hard    nofile    1500000
root    soft    nofile    1000000
root    hard    nproc     15000
root    soft    nproc     10000
*       hard    nofile    1500000
*       soft    nofile    1000000
*       hard    nproc     15000
*       soft    nproc     10000

Následující text jsem umístil do /etc/pam.d/common-session :

session required pam_limits.so

Po restartu se přihlaste jako libovolný uživatel a zadejte ulimit -n výsledkem je 1024 .

Poté jsem zkusil vyžadovat pam_limits.so do každého souboru pod /etc/pam.d . Restartováno. Přihlášeno. Žádné takové štěstí.

Pokud zadám příkaz ulimit -n 1000000 , pak zkontrolujte, limit je nastaven podle očekávání. Takže jsem umístil @reboot ulimit -n 1000000 do crontab -e . Restartováno. Přihlášeno. Žádné štěstí.

Zkontroloval jsem /etc/ssh/sshd_config a PAM je povoleno.

Zkoušel jsem nastavit limity při každém restartu pomocí:

/sbin/sysctl -w fs.file-max=1000000
/sbin/sysctl -p

Žádné štěstí.

Mám server, který má spoustu souběžného provozu a potřebuji tyto limity tak vysoké, protože serveru trvá velmi dlouho, než vymaže deskriptory souborů. Co musím udělat, abych trvale zvýšil limit deskriptoru souboru?

Přijatá odpověď:

Tímto způsobem jsem zvýšil počet limitů souborů pro všechny (segment z /etc/security/limits.conf ):

#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files (Doug: - so Samba will not complain)
* - nofile 16384
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)

To bylo na serveru 12.04. Testoval jsem však 100 000 na svém serveru 14.04 a fungovalo to dobře. (Edit:také zkontrolováno 20.04.)

~/config/security$ ulimit -n
16384

EDIT:Pro většinu aplikací to stačí, ale nemění to výchozí hodnotu pro root:

# ulimit -n
1024

Pokud je také potřeba změnit číslo pro root, pak (2020.09.04 – nyní používám 131 072):

#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open file descriptors
* - nofile 131072
root - nofile 131072
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)

A tak:

$ sudo su
# ulimit -n
131072

Ubuntu
  1. Jak upgradovat Ubuntu 15.10 na Ubuntu 16.04 LTS

  2. Jak upgradovat Ubuntu 14.04 LTS na Ubuntu 16.04 LTS

  3. Nainstalujte Karbon na Ubuntu 20.04 LTS

  1. Jak upgradovat na Ubuntu 18.10 z Ubuntu 18.04 LTS

  2. Nainstalujte Dokuwiki na Ubuntu 20.04 LTS

  3. Rabbitvcs na Ubuntu 16,04 Lts?

  1. Jak nainstalovat Docker na Ubuntu 22.04 / 20.04 LTS

  2. Jak upgradovat Ubuntu 18.04 LTS na Ubuntu 20.04 LTS

  3. Nainstalujte Python 3.7 na Ubuntu 18.04 LTS