Lösning:Öka gränsen
Linux-system sätter gränser för antalet öppna filer som en användare kan komma åt samtidigt. Felet "för många öppna filer" uppstår när antalet öppna filer överskrider dessa gränser. För att lösa problemet ökar du gränsen för öppna filer.
Redigera motsvarande `/etc/security/limits.conf`-fil beroende på om du försöker tillämpa ändringen globalt eller på en specifik användare.
Om du försöker öka gränsen för varje användare, redigera `/etc/security/limits.conf`:
```
sudo nano /etc/security/limits.conf
```
För att ändra gränsen för en viss användare med namnet "användarnamn", redigera deras motsvarande `/etc/security/limits.d`-fil:
```
sudo nano /etc/security/limits.d/username.conf
```
Inom respektive fil, lokalisera och redigera "nofile"-parametrarna för att ställa in de nya gränserna:
```
* mjuk nofil 65535
* hård nofil 65535
```
Så här gör dessa parametrar:
- "mjuk" sätter en mjuk gräns som kan åsidosättas tillfälligt under särskilda omständigheter.
- "hårt" sätter en hård gräns som inte kan överträffas.
Det numeriska värdet ("65535" i exemplet) indikerar det önskade maximala antalet öppna filer.
När du har sparat ändringarna och avslutat redigeraren kör du följande kommandon för att tillämpa de nya gränserna. (Byt ut "användarnamn" med din målanvändare om du ändrar en specifik användare):
```
sudo ulimit -n 65535 (för den aktuella sessionen)
```
```
sudo sysctl -w fs.file-max=65535 (För varje session och framåt)
```
Kontrollera filgränsändringarna med kommandot:
```
ugräns -n
```
Om du får den ökade gränsen som utdata är ändringen effektiv och felet "för många öppna filer" bör lösas.
Alternativ lösning:Stäng oanvända filer
Om det är opraktiskt att öka filgränsen, överväg att stänga alla onödiga öppna filer för att undvika att nå gränsen. Kontrollera om det finns onödiga bakgrundsprocesser eller applikationer som använder filbeskrivningar.
Kör följande kommando för att få en översikt över öppna filhandtag:
```
lsof -Fn | grep raderades
```
Leta efter eventuella onödiga handtag och avsluta motsvarande processer för att frigöra dem.