GNU/Linux >> Znalost Linux >  >> Linux

Příliš mnoho otevřených souborů (CentOS7) – již jsem zkusil nastavit vyšší limity

Ve skutečnosti to nejsou otevřené popisovače souborů, které došly, ale inotify watches.

Můžete to vidět v chybové zprávě:

Sep 13 05:32:22 pars.work systemd[1]: Failed to set a watch for nginx.service's PID file /var/run/nginx.pid: Too many open files

Chcete-li problém vyřešit, musíte zvýšit počet hodinek inotify, které má systém k dispozici. Pokud to skutečně zkontrolujete, zjistíte, že má nějakou směšně nízkou hodnotu, například 8192.

$ sysctl fs.inotify.max_user_watches
fs.inotify.max_user_watches = 8192

Můžete nastavit sysctl fs.inotify.max_user_watches na vyšší hodnotu trvale úpravou /etc/sysctl.conf nebo vytvořením souboru v /etc/sysctl.d adresář. Můj systém má například:

$ cat /etc/sysctl.d/10-user-watches.conf 
fs.inotify.max_user_watches = 1048576

A poté jej načtěte pomocí sysctl -p .

Možná nebudete chtít jít přímo k tomuto číslu a způsobit, že jádro alokuje paměť pro sledování milionu uživatelských slotů pro sledování souborů; místo toho prostě vezměte aktuální hodnotu a zdvojnásobte ji, dokud se problém nepřestane vyskytovat.


Linux
  1. Spuštění udev:udevd inotify_init se nezdařilo:příliš mnoho otevřených souborů

  2. Otázky k rozhovoru s Linuxem:Otevřít soubory / Otevřít deskriptory souborů

  3. C fopen vs open

  1. Jak připojit/sloučit mnoho souborů mp3?

  2. Jak otevřít soubor .rar ve fedoře 23

  3. Příliš mnoho otevřených souborů v Debianu

  1. Řešení chyby Mysql:Příliš mnoho otevřených souborů

  2. Oprava Otevřít dialogové okno Uložit soubor je příliš velké v i3 Windows Manager

  3. Je možné vytvořit soubor .tar.gz přímo ze Stdin? Nebo potřebuji tarovat již zazipované soubory?