Heim >System-Tutorial >LINUX >Wie ändere ich das maximale Limit offener Dateien für Linux-Systembenutzer?
1. Änderungen in der Dateianzahlbeschränkung 1. Zeigen Sie die maximale Anzahl geöffneter Dateien für Linux-Systembenutzer auf Benutzerebene an: #ulimit-n1024(1)vi/etc/security/limits.confmysqlsoftnofile10240mysqlhardnofile10240 wobei mysql angibt, um welchen Benutzer es sich handelt Die Anzahl der geöffneten Dateien muss geändert werden. Das Zeichen „*“ kann verwendet werden, um die Änderung des Grenzwerts für alle Benutzer anzugeben; „Soft“ oder „Hard“ gibt an, ob der Soft- oder der Hard-Limit geändert werden soll. 10240 gibt den neuen Grenzwert an, den Sie ändern möchten, d. h. die maximale Anzahl der offenen Dateien (bitte beachten Sie, dass der Soft-Limit-Wert größer oder gleich dem Hard-Limit sein muss). (2)vi/etc/pam.d/loginsessionrequired/lib/security/pam_limits.so Dadurch wird Linux mitgeteilt, dass das Modul pam_limits.so aufgerufen werden soll, nachdem der Benutzer die Systemanmeldung abgeschlossen hat, um die Anzahl der verschiedenen Ressourcen festzulegen, die das System benötigt kann für den Benutzer verwendet werden (einschließlich der Begrenzung der maximalen Anzahl von Dateien, die ein Benutzer öffnen kann). Das Modul pam_limits.so liest die Konfiguration aus der Datei /etc/security/limits.conf, um diesen Grenzwert festzulegen. 2. Überprüfen Sie das feste Limit des Linux-Systems für die Anzahl gleichzeitig geöffneter Dateien auf Linux-Systemebene: #sysctl-a|grepfile-maxfs.file-max=65535 Dies zeigt an, dass dieses Linux-System die maximale Anzahl von Dateien zulässt Gleichzeitig geöffnet (einschließlich der Gesamtzahl der von allen Benutzern geöffneten Dateien) 65535 Dateien Linux-TCP-Verbindungslimit Linux-Betriebs- und Wartungsblog ist ein hartes Limit auf Linux-Systemebene Die Anzahl der geöffneten Dateien wird diesen Wert nicht überschreiten.
Im Allgemeinen ist dieses harte Limit auf Systemebene die optimale maximale Anzahl gleichzeitig geöffneter Dateien, die basierend auf den Hardwareressourcenbedingungen des Systems beim Start des Linux-Systems geschätzt wird. (1)vi/etc/sysctl.conffs.file-max=1000000 wird sofort wirksam: #sysctl-p 2. Änderungen der Netzwerkportbegrenzung Überprüfen Sie die maximale Anzahl von Tracking-TCP-Verbindungen im Linux-System: #sysctl-a|grepipv4. ip_conntrack_maxnet.ipv4.ip_conntrack_max =20000 Dies zeigt an, dass das System die maximale Anzahl verfolgter TCP-Verbindungen standardmäßig auf 20000 begrenzt. Sehen Sie sich den Portbereich des Linux-Systems an: #sysctl-a|grepipv4.ip_local_port_rangenet.ipv4.ip_local_port_range=102430000 Hinweis: Jede TCP-Clientverbindung belegt eine eindeutige lokale Portnummer (diese Portnummer liegt innerhalb der lokalen Portnummernbereichsgrenze des Systems). , wenn die bestehende TCP-Client-Verbindung alle lokalen Portnummern belegt hat. Es werden keine neuen TCP-Verbindungen erstellt. (1) vi/etc/sysctl.confnet.ipv4.ip_local_port_range=102465535net.ipv4.ip_conntrack_max=20000 Wenn Adobe Air Linux gemäß dem oben genannten Portbereich eingestellt ist, kann ein einzelner Prozess theoretisch mehr als 60.000 TCP-Clients gleichzeitig ausführen . verbinden.
Wenn die oben genannten Parameter festgelegt sind, kann ein einzelner Prozess theoretisch mehr als 20.000 TCP-Client-Verbindungen gleichzeitig abschließen. Hinweis: Stellen Sie die Anzahl der Dateien, die MySQL-Benutzer gleichzeitig öffnen können, auf 10240 ein; legen Sie die Anzahl der Dateien, die das Linux-System gleichzeitig öffnen kann, auf 1.000.000 fest (muss kleiner sein als die Grenze für die Anzahl der geöffneten Dateien). gleichzeitig für Benutzer); legen Sie die maximale Anzahl der vom Linux-System verfolgten TCP-Verbindungen fest. Die Anzahl ist auf 20.000 begrenzt (es wird jedoch empfohlen, sie auf 10.240 festzulegen, da die Anzahl gleichzeitig geöffneter Dateien für MySQL-Benutzer begrenzt ist auf 10.240; und ein kleinerer Wert kann Videospeicher sparen); konfigurieren Sie den Linux-Systemportbereich auf 1024~30.000 (Sie können mehr als 60.000 Verbindungen unterstützen Linux TCP-Verbindungslimit, nicht empfohlen, um zu ändern; unterstützt bereits mehr als 20.000 Verbindungen). Basierend auf den oben genannten vier Punkten ist die Anzahl der TCP-Verbindungen auf 10.140 begrenzt. Aus diesen 10240 Dateien müssen wir auch Dateien wie Standardeingabe, Standardausgabe, Standardfehler, Server-Lausch-Sockets und Unix-Domänen-Sockets für die Kommunikation zwischen Prozessen entfernen, die von jedem Prozess geöffnet werden müssen.
Wenn Sie also die Anzahl der TCP-Verbindungen anpassen müssen, müssen Sie nur den Parameter ulimit anpassen.
Befehl zum Anzeigen der Anzahl und des Status von TCP-Verbindungen unter Linux:
netstat -n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'
Das obige ist der detaillierte Inhalt vonWie ändere ich das maximale Limit offener Dateien für Linux-Systembenutzer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!