Løsning:Forøg grænsen
Linux-systemer pålægger begrænsninger på antallet af åbne filer, som en bruger kan få adgang til samtidigt. Fejlen "for mange åbne filer" opstår, når antallet af åbne filer overskrider disse grænser. For at løse dette problem skal du øge grænsen for åbne filer.
Rediger den tilsvarende `/etc/security/limits.conf`-fil, afhængigt af om du forsøger at anvende ændringen globalt eller til en bestemt bruger.
Hvis du forsøger at øge grænsen for hver bruger, skal du redigere `/etc/security/limits.conf`:
```
sudo nano /etc/security/limits.conf
```
For at ændre grænsen for en bestemt bruger ved navn "brugernavn" skal du redigere deres tilsvarende `/etc/security/limits.d`-fil:
```
sudo nano /etc/security/limits.d/brugernavn.conf
```
Find og rediger "nofile"-parametrene i den respektive fil for at indstille de nye grænser:
```
* blød nofile 65535
* hård nofil 65535
```
Her er, hvad disse parametre gør:
- "blød" sætter en blød grænse, der kan tilsidesættes midlertidigt under særlige omstændigheder.
- "hård" sætter en hård grænse, der ikke kan overskrides.
Den numeriske værdi ("65535" i eksemplet) angiver det ønskede maksimale antal åbne filer.
Når du har gemt ændringerne og afsluttet editoren, skal du køre følgende kommandoer for at anvende de nye grænser. (Erstat "brugernavn" med din målbruger, hvis du ændrer en bestemt bruger):
```
sudo ulimit -n 65535 (For den aktuelle session)
```
```
sudo sysctl -w fs.file-max=65535 (For hver session og fremefter)
```
Tjek filgrænseændringerne med kommandoen:
```
ugrænse -n
```
Hvis du får den øgede grænse som output, er ændringen effektiv, og fejlen "for mange åbne filer" bør være løst.
Alternativ løsning:Luk ubrugte filer
Hvis det er upraktisk at øge filgrænsen, kan du overveje at lukke unødvendige åbne filer for at undgå at nå grænsen. Tjek for unødvendige baggrundsprocesser eller programmer, der bruger filbeskrivelser.
Kør følgende kommando for at få et overblik over åbne filhåndtag:
```
lsof -Fn | grep slettet
```
Se efter eventuelle unødvendige håndtag, og afslut de tilsvarende processer for at frigive dem.