Wéi d'Zuel vun den Open Files Limit op Linux erhéijen
Am Linux kënnt Dir de maximalen Betrag vun oppene Dateien änneren. Dir kënnt dës Nummer änneren andeems Dir den ulimit Kommando benotzt. Et gëtt Iech d'Fäegkeet fir d'Ressourcen ze kontrolléieren déi verfügbar sinn fir d'Schuel oder de Prozess deen dovunner gestart gouf.
An dësem kuerzen Tutorial wäerte mir Iech weisen wéi Dir Är aktuell Limit vun oppene Dateien a Dateibeschreiwunge kontrolléiert, awer fir dat ze maachen, musst Dir root Zougang zu Ärem System hunn.
Als éischt, Loosst eis kucken wéi mir d'maximal Unzuel vun opgemaachte Dateideskriptoren op Ärem Linux System erausfannen.
Fannt Linux Open File Limit
De Wäert gëtt an:
# cat /proc/sys/fs/file-max 818354
D'Zuel déi Dir gesitt, weist d'Zuel vun de Dateien déi e Benotzer pro Login-Sessioun opgemaach huet. D'Resultat kann ënnerschiddlech sinn ofhängeg vun Ärem System.
Zum Beispill op engem CentOS Server vu mir ass d'Limit op 818354 gesat, während op Ubuntu Server, deen ech doheem lafen, d'Standardlimit op 176772 gesat gouf.
Wann Dir déi haart a mëll Grenzen wëllt gesinn, kënnt Dir déi folgend Kommandoen benotzen:
# ulimit -Hn 4096
# ulimit -Sn 1024
Fir déi haart a mëll Wäerter fir verschidde Benotzer ze gesinn, kënnt Dir einfach Benotzer mat su op de Benotzer wiesselen, déi Limiten Dir wëllt iwwerpréiwen.
Zum Beispill:
# su marin $ ulimit -Sn 1024
$ ulimit -Hn 4096
Wéi kontrolléiert System breet Datei Descriptor Limiten am Linux
Wann Dir e Server leeft, kënnen e puer vun Ären Uwendungen méi héich Limite fir opgemaach Dateideskriptoren erfuerderen. E gutt Beispill fir sou sinn MySQL/MariaDB Servicer oder Apache Webserver.
Dir kënnt d'Limite vun opgemaachte Dateien am Linux erhéijen andeems Dir d'Kernel Direktiv fs.file-max
ännert. Fir dësen Zweck kënnt Dir de sysctl Utility benotzen.
Sysctl gëtt benotzt fir Kernelparameter beim Runtime ze konfiguréieren.
Zum Beispill, fir oppe Dateilimit op 500000 ze erhéijen, kënnt Dir de folgende Kommando als Root benotzen:
# sysctl -w fs.file-max=500000
Dir kënnt den aktuelle Wäert fir opgemaach Dateien mat dem folgenden Kommando iwwerpréiwen:
$ cat /proc/sys/fs/file-max
Mat dem uewe genannte Kommando bleiwen d'Ännerungen déi Dir gemaach hutt nëmmen aktiv bis den nächsten Neistart. Wann Dir se permanent wëllt applizéieren, musst Dir déi folgend Datei änneren:
# vi /etc/sysctl.conf
Füügt déi folgend Linn derbäi:
fs.file-max=500000
Natierlech kënnt Dir d'Zuel pro Äre Besoinen änneren. Fir d'Ännerungen erëm z'iwwerpréiwen benotzt:
# cat /proc/sys/fs/file-max
D'Benotzer mussen ausloggen an erëm aloggen fir datt d'Ännerungen a Kraaft trieden. Wann Dir d'Limite direkt benotze wëllt, kënnt Dir de folgende Kommando benotzen:
# sysctl -p
Set User Level Open File Limiten an Linux
Déi uewe genannte Beispiller hu gewisen wéi Dir global Limiten setzt, awer Dir wëllt Limiten pro Benotzerbasis applizéieren. Fir dësen Zweck, als Benotzerroot, musst Dir déi folgend Datei änneren:
# vi /etc/security/limits.conf
Wann Dir e Linux Administrateur sidd, proposéiere ech Iech datt Dir mat dëser Datei ganz vertraut sidd a wat Dir dermat maache kënnt. Liest all d'Kommentaren an et, well et grouss Flexibilitéit ubitt wat d'Systemressourcen verwalten andeems d'Benotzer/Gruppen op verschiddene Niveauen limitéieren.
D'Linnen déi Dir sollt addéieren huelen déi folgend Parameteren:
<domain> <type> <item> <value>
Hei ass e Beispill fir eng mëll an haart Limite fir de Benotzer marin ze setzen:
## Example hard limit for max opened files marin hard nofile 4096 ## Example soft limit for max opened files marin soft nofile 1024
Finale Gedanken
Dëse kuerzen Artikel huet Iech e Basis Beispill gewisen wéi Dir d'Global- a Benotzerniveau Limite fir maximal Unzuel vun opgemaachte Dateien iwwerpréift a konfiguréiere kënnt.
Wärend mir just d'Uewerfläch gekraazt hunn, encouragéieren ech Iech e méi detailléierte Bléck a liesen iwwer /etc/sysctl.conf an /etc/security/limits.conf a léiere wéi se se benotzen. Si wäert eng grouss Hëllef fir Iech enges Daags.