Pokud jste získali chyba „Příliš mnoho otevřených souborů (24)“ pak vaší žádosti/příkazu/skriptu je bít max otevřít soubor s příponou limit povolený linux. Potřebujete zvýšit otevřít soubor limitu, jak je uvedeno níže:
Zvýšit limit
Per-User Limit
Otevřít soubor: /etc/security/limits.conf
Vložit následující ke konci:
* hard nofile 500000* soft nofile 500000root hard nofile 500000root soft nofile 500000
500000 je reálné číslo. Nejsem si jistý, co je maximální limit, ale 999999 (šest-9) pracoval pro mě jednou, pokud si pamatuji.
po uložení souboru se možná budete muset odhlásit a znovu se přihlásit.
pam-omezení,
četl jsem na mnoha místech, že další krok je neede pro limit změnit pro daemon procesy. Nepotřeboval jsem následující ještě, ale pokud výše uvedené změny nefungují pro vás, můžete to zkusit.
otevřít /etc/pam.d/common-session
přidat následující řádek:
session required pam_limits.so
celosystémový Limit
nastavte vyšší než výše uvedený limit uživatele.
otevřít /etc/sysctl.conf
přidat následující:
fs.file-max = 2097152
Běh:
sysctl -p
výše zvýší „celkový“ počet souborů, které mohou zůstat otevřené v celém systému.
Ověřit Nové Limity
Použít následující příkaz, aby vidět max limitu popisovače souborů:
cat /proc/sys/fs/file-max
Pevný Limit
ulimit -Hn
Soft Limit
ulimit -Sn
pokud jste přihlášeni jako root:
Zkontrolujte omezení pro ostatní uživatele
nahradit www-data
v linuxu uživatelské jméno, které si přejete zjistit limity pro:
su - www-data -c 'ulimit -aHS' -s '/bin/bash'
Zkontrolujte, zda omezení běžícího procesu:
Najít proces id (PID):
ps aux | grep process-name
Předpokládám, že XXX je PID, a pak spusťte následující příkazy pro kontrolu limitů:
cat /proc/XXX/limits