If you are get error” Too many open files (24) ” then your application/command/script is hiting max open file limit allowed by linux. Sinun täytyy lisätä avoimen tiedoston rajaa alla olevalla tavalla:
Lisäysraja
Käyttäjäraja
avoin tiedosto: /etc/security/limits.conf
Liitä loppupuolella:
* hard nofile 500000* soft nofile 500000root hard nofile 500000root soft nofile 500000
500000 se on reilu luku. En ole varma, mikä on maksimiraja, mutta 999999 (Six-9) toimi minulle muistaakseni kerran.
kun olet tallentanut tiedoston, voit joutua kirjautumaan ulos ja kirjautumaan uudelleen.
pam-rajat
luin monista paikoista, että raja-arvon muuttumiseen daemon-prosesseissa tarvitaan ylimääräinen askel. En tarvitse seuraavat vielä, mutta jos edellä muutokset eivät toimi sinulle, voit antaa tämän yrittää.
avaa /etc/pam.d/common-session
lisää seuraava rivi:
session required pam_limits.so
koko järjestelmän raja
Aseta tämä korkeampi kuin edellä asetettu käyttäjäraja.
avoin /etc/sysctl.conf
lisää seuraavat:
fs.file-max = 2097152
Juokse:
sysctl -p
edellä lisää ”kokonaislukumäärää” tiedostoille, jotka voivat jäädä auki koko järjestelmän laajuisesti.
Tarkista uudet raja-arvot
käytä komennon jälkeen nähdäksesi tiedostokuvausten enimmäisrajan:
cat /proc/sys/fs/file-max
Hard Limit
ulimit -Hn
Soft Limit
ulimit -Sn
jos olet kirjautunut sisään root:
Check limit for other user
korvaa vain www-data
linux-käyttäjänimellä haluat tarkistaa rajat:
su - www-data -c 'ulimit -aHS' -s '/bin/bash'
suoritettavan prosessin Tarkistusrajat:
Etsi prosessi-id (PID):
ps aux | grep process-name
oletetaan, XXX on PID, suorita seuraavat komennot tarkistaa rajat:
cat /proc/XXX/limits