GNU/Linux >> Znalost Linux >  >> Linux

Jak zvýšit limit počtu otevřených souborů v Linuxu

V Linuxu můžete změnit maximální množství otevřených souborů. Toto číslo můžete upravit pomocí ulimit příkaz. Poskytuje vám možnost ovládat zdroje dostupné pro shell nebo proces, který spouští.

Čtěte také: Nastavte limity běžících procesů Linuxu na úrovni jednotlivých uživatelů

V tomto krátkém tutoriálu vám ukážeme, jak zkontrolovat aktuální limit otevřených souborů a popisů souborů, ale abyste to mohli udělat, musíte mít ke svému systému přístup root.

Nejprve se podívejme, jak můžeme zjistit maximální počet otevřených deskriptorů souborů ve vašem systému Linux.

Najít Linux Open File Limit

Hodnota je uložena v:

# cat /proc/sys/fs/file-max

818354

Číslo, které uvidíte, ukazuje počet souborů, které může uživatel otevřít během jedné přihlašovací relace. Výsledek se může lišit v závislosti na vašem systému.

Například na CentOS můj server, limit byl nastaven na 818354 , zatímco používáte Ubuntu server, který spouštím doma, byl výchozí limit nastaven na 176772 .

Pokud chcete vidět tvrdé a měkké limity, můžete použít následující příkazy:

Zkontrolujte pevný limit v Linuxu

# ulimit -Hn

4096

Zkontrolujte měkké limity v Linuxu

# ulimit -Sn

1024

Chcete-li zobrazit tvrdé a měkké hodnoty pro různé uživatele, můžete jednoduše přepnout uživatele pomocí “su“ uživateli, které limity chcete zkontrolovat.

Například:

# su marin
$ ulimit -Sn

1024
$ ulimit -Hn

4096

Jak zkontrolovat limity deskriptorů souborů v systému Linux

Pokud provozujete server, některé z vašich aplikací mohou vyžadovat vyšší limity pro popisovače otevřených souborů. Dobrým příkladem je MySQL/MariaDB služby nebo Apache webový server.

Limit otevřených souborů v Linuxu můžete zvýšit úpravou direktivy jádra fs.file-max . K tomuto účelu můžete použít sysctl utility.

Sysctl se používá ke konfiguraci parametrů jádra za běhu.

Chcete-li například zvýšit limit otevřených souborů na 500 000 , můžete jako root použít následující příkaz:

# sysctl -w fs.file-max=500000

Aktuální hodnotu otevřených souborů můžete zkontrolovat pomocí následujícího příkazu:

$ cat /proc/sys/fs/file-max

Pomocí výše uvedeného příkazu zůstanou změny, které jste provedli, aktivní pouze do příštího restartu. Pokud je chcete použít trvale, budete muset upravit následující soubor:

# vi /etc/sysctl.conf

Přidejte následující řádek:

fs.file-max=500000

Číslo si samozřejmě můžete změnit podle svých potřeb. Chcete-li znovu ověřit změny, použijte:

# cat /proc/sys/fs/file-max

Aby se změny projevily, uživatelé se budou muset odhlásit a znovu přihlásit. Pokud chcete limit použít okamžitě, můžete použít následující příkaz:

# sysctl -p

Nastavit limity pro otevřený soubor na uživatelské úrovni v systému Linux

Výše uvedené příklady ukázaly, jak nastavit globální limity, ale možná budete chtít použít limity na základě uživatele. Za tímto účelem budete jako uživatel root muset upravit následující soubor:

# vi /etc/security/limits.conf

Pokud jste správce Linuxu, doporučuji vám, abyste se s tímto souborem a s tím, co s ním můžete dělat, velmi dobře seznámili. Přečtěte si všechny komentáře v něm, protože poskytuje velkou flexibilitu, pokud jde o správu systémových prostředků, protože omezuje uživatele/skupiny na různých úrovních.

Řádky, které byste měli přidat, mají následující parametry:

<domain>        <type>  <item>  <value>

Zde je příklad nastavení měkkých a tvrdých limitů pro uživatele marin :

## Example hard limit for max opened files
marin        hard nofile 4096
## Example soft limit for max opened files
marin        soft nofile 1024

Poslední myšlenky

Tento krátký článek vám ukázal základní příklad toho, jak můžete zkontrolovat a nakonfigurovat globální limity a limity na uživatelské úrovni pro maximální počet otevřených souborů.

Zatímco jsme právě poškrábali povrch, důrazně vám doporučuji, abyste se podrobněji podívali a přečetli si o /etc/sysctl.conf a /etc/security/limits.conf a naučit se je používat. Jednoho dne vám velmi pomohou.


Linux
  1. Jak zvýšit počet diskových inodů v Linuxu

  2. Jak přejmenovat soubory v Linuxu

  3. Linux – Jak zvýšit Maxsymlinks?

  1. Jak otevřít Appimage v Linuxu

  2. Jak zvýšit limit otevřených souborů v Ubuntu?

  3. Největší povolený maximální počet otevřených souborů v Linuxu

  1. Jak najít soubory v Linuxu

  2. Jak otevřít soubory ISO na Ubuntu Linux

  3. Jak komprimovat více souborů v systému Linux