hvis du får feil » For Mange åpne filer (24)», så slår din søknad/kommando/skript maks åpen filgrense tillatt av linux. Du må øke åpen filgrense som nedenfor:
Øk grense
Per Bruker Grense
Åpne fil: /etc/security/limits.conf
Lim inn etter mot slutten:
* hard nofile 500000* soft nofile 500000root hard nofile 500000root soft nofile 500000
500000 er rettferdig tall. Jeg er ikke sikker på hva som er maksgrense, men 999999 (Seks-9) jobbet for meg en gang så vidt jeg husker.
Når du lagrer filen, må du kanskje logge ut og logge inn igjen.
pam-limits
jeg leser mange steder at et ekstra trinn er nødvendig for grense for endring for demonprosesser. Jeg trengte ikke å følge ennå, men hvis ovennevnte endringer ikke fungerer for deg, kan du prøve dette.
Åpne /etc/pam.d/common-session
Legg til følgende linje:
session required pam_limits.so
System-Wide Limit
Sett dette høyere enn brukergrensen angitt ovenfor.
Åpne /etc/sysctl.conf
Legg til følgende:
fs.file-max = 2097152
Kjør:
sysctl -p
Ovenfor vil øke «totalt» antall filer som kan forbli åpne hele systemet.
Bekreft Nye Grenser
Bruk følgende kommando for å se maksimal grense for filbeskrivelser:
cat /proc/sys/fs/file-max
Hard Grense
ulimit -Hn
Myk Grense
ulimit -Sn
Hvis du er logget inn som root:
Sjekk grense for annen bruker
bare erstatt www-data
med linux brukernavn du ønsker å sjekke grenser for:
su - www-data -c 'ulimit -aHS' -s '/bin/bash'
Kontroller grensene for en kjørende prosess:
Finn prosess-id (PID):
ps aux | grep process-name
Anta AT XXX ER PID, og kjør deretter følgende kommandoer for å sjekke grenser:
cat /proc/XXX/limits