hvis du får fejl” for mange åbne filer (24)”, rammer din applikation/kommando/script maks. Du skal øge åben filgrænse som nedenfor:
Forøg grænse
per-bruger grænse
Åbn fil: /etc/security/limits.conf
indsæt følgende mod slutningen:
* hard nofile 500000* soft nofile 500000root hard nofile 500000root soft nofile 500000
500000 er rimeligt antal. Jeg er ikke sikker på, hvad der er maksimal grænse, men 999999 (seks-9) arbejdede for mig en gang så vidt jeg husker.
når du har gemt filen, skal du muligvis logge ud og logge ind igen.
pam-grænser
jeg læste mange steder, at et ekstra trin er neede for grænse for at ændre for dæmon processer. Jeg havde ikke brug for at følge endnu, men hvis ovenstående ændringer ikke fungerer for dig, Du kan prøve dette.
åben /etc/pam.d/common-session
tilføj følgende linje:
session required pam_limits.so
Systemdækkende grænse
Indstil dette højere end brugergrænsen angivet ovenfor.
åben /etc/sysctl.conf
tilføj følgende:
fs.file-max = 2097152
Kør:
sysctl -p
ovenfor vil øge det “samlede” antal filer, der kan forblive åbne hele systemet.
Bekræft nye grænser
Brug følgende kommando til at se maksimal grænse for filbeskrivelser:
cat /proc/sys/fs/file-max
Hard Limit
ulimit -Hn
Soft Limit
ulimit -Sn
hvis du er logget ind som root:
Check limit for other user
bare erstat www-data
ved at:
su - www-data -c 'ulimit -aHS' -s '/bin/bash'
kontroller grænserne for en kørende proces:
Find process-id (PID):
ps aux | grep process-name
Antag, at PID er PID, og kør derefter følgende kommandoer for at kontrollere grænser:
cat /proc/XXX/limits