Při správě více procesů v prostředích Linuxu je ideální vědět, jak můžeme definovat maximální počet otevřených souborů, abychom měli mnohem přesnější ovládání nebo se vyhnuli zneužití serverových prostředků. Z tohoto důvodu je vhodné, abychom vždy vzali v úvahu možnosti, které náš systém nabízí, abychom jej mohli efektivněji spravovat.
Limit otevřených souborů v distribucích Linux lze upravit díky příkazu ulimit A proto dnes tento tutoriál při této příležitosti analyzuje, jak zjistit počet otevřených souborů v Linuxu se zaměřením na zvýšení výchozího limitu.
Dále uvidíme, jak můžeme rozšířit stanovený limit souborů, které lze otevřít v systémech Ubuntu Linux.
1. Zjistěte aktuální limit souborů v Ubuntu Linux
Prvním krokem, který musíme udělat, je přesně vědět, jaký limit souborů můžeme v Linuxu otevřít, v tomto případě používáme server Ubuntu 17.04, a abychom tuto hodnotu znali, spustíme následující příkaz:
cat / proc / sys / fs / file-max
ZVĚTŠIT
Zobrazený výsledek udává počet souborů, které může uživatel otevřít při přihlášení, a to bude proměnlivé v každém distribuci Linuxu.
2. Znáte limity hardwaru a softwaru v Ubuntu Linux
Dalším důležitým aspektem, který je třeba vzít v úvahu, je znát limity systému na hardwarové i softwarové úrovni a toho je dosaženo provedením následujících příkazů:
ulimit -Hn ulimit -Sn
ZVĚTŠIT
3. Zkontrolujte výchozí limity Linuxu pro popisovače souborů
Když na serverech spouštíme určité aplikace, je nutné, aby měly větší počet souborů, protože neustále registrují události nebo procesy, které zahrnují velký počet souborů, můžeme zmínit aplikace jako PHP, MySQL, MariaDB, mezi ostatní.
V těchto případech můžeme limit zvýšit úpravou fs.file-max soubor prostřednictvím utility sysctl.
Pamatujte, že díky sysctl můžeme konfigurovat parametry jádra v Linuxu.
Krok 1
Abychom to reprezentovali, zvýšíme limit otevřených souborů na 600 000, protože jako uživatel root spustíme následující řádek:
sudo sysctl -w fs.file -max = 600000
ZVĚTŠIT
Krok 2
Abychom ověřili, že nový limit byl stanoven správně, spustíme následující řádek:
cat / proc / sys / fs / file-max
ZVĚTŠIT
Krok 3
Jak vidíme, limit jsme stanovili my.
Jeden aspekt, který je třeba mít na paměti, je, že provedením tohoto procesu bude stanovený limit k dispozici pouze do dalšího přihlášení, takže pokud chceme, aby byl tento limit konstantní, musíme pomocí preferovaného editoru přistupovat k následujícímu souboru:
sudo nano /etc/sysctl.confKrok 4
Do otevřeného souboru přidáme na konec následující řádek:
fs.file-max = 600000
ZVĚTŠIT
Krok 5
Udržujeme změny pomocí kláves:
Ctrl + O
Y opustili jsme editora pomocí klíčů
Ctrl + X
Krok 6
Limit souboru můžeme znovu zkontrolovat spuštěním následujícího řádku:
cat / proc / sys / fs / file-maxKrok 7
Pro uplatnění změn bude nutné relaci zavřít, a pokud chceme, aby byly provedeny okamžitě, provedeme následující příkaz:
sysctl -p
4. Nastavte limity otevřených souborů na uživatele v Ubuntu Linux
Krok 1
Je možné, že chceme stanovit určité limity otevřených souborů pro konkrétního uživatele v doméně, proto musíme přistupovat k následujícímu konfiguračnímu souboru:
sudo nano /etc/security/limits.confKrok 2
V závěrečné části toho uvidíme následující syntaxi:
Krok 3
Tam musíme přidat uživatelské jméno, typ prvku a limit pro přiřazení. Změny uložíme a ukončíme editor.
ZVĚTŠIT
Tímto způsobem máme možnost stanovit nebo zvýšit limity pro uživatele pro otevřené soubory v různých distribucích Linuxu a zejména v Ubuntu Server 17.04.