Konfigurieren Sie eine völlig unbegrenzte limits.conf-Konfiguration für Testserver

Inhalt

Bash-Shell

Ohne Grenzen! Vielleicht möchten wir alle keine Grenzen haben, aber ist das wirklich eine gute Idee?? Im Allgemeinen, wenn es keine Grenzen gibt, ‘habrá dragones’. Lo mismo ocurre con limits.conf, aún cuando para los servidores de prueba, ¡un limits.conf verdaderamente ilimitado ayuda!

Was ist es limites.conf?

das limits.conf Die Datei enthält die Ressourcenbegrenzungseinstellungen für das Linux-Betriebssystem. Wenn Ihr Linux-Computer installiert wurde, die Datei wurde im Rahmen der Installation erstellt und enthielt Werte für Ressourcen wie die Größe des virtuellen Speichers, die maximale Anzahl von Dateien und mehr.

Diese Werte sind auf voreingestellte Grenzen gesetzt, um sicherzustellen, dass Ihr Linux-System nicht so leicht überlastet wird. Gegenteiliger Fall, ein bösartiges Programm oder Verfahren könnte ein ansonsten funktionierendes System leicht stoppen. Sich vorstellen, als Beispiel, eine Situation, in der Sie die maximale Anzahl geöffneter Dateien auf unbegrenzt setzen, und ein betrügerisches Verfahren (Was ist eine Prozedur mit einem Fehler, oder sogar eine bösartige Software wie ein Virus oder eine Malware) Jetzt beginne die Datei zu öffnen. nach Datei auf System.

Demnächst, Das System wird keine Ressource mehr haben, die es braucht, um all diese offenen Dateien zu verarbeiten. Ob der Prozessor in Ihrem System (die CPU), oder Speicher oder in einigen Fällen sogar Festplatte, wo, als Beispiel, Möglicherweise haben wir die maximale Kernel-Dateigröße als unbegrenzt festgelegt, und wir führen große Prozesse auf einem System mit viel Arbeitsspeicher und wenig freiem Speicherplatz aus, oder ein kleines Root-Laufwerk.

Zusammenfassend, Verwendung der limits.conf Konfigurationsdatei, ein Benutzer (der Systemadministrator) Sie können Beschränkungen der Ressourcen festlegen, die dem Benutzer und dem System zur Verfügung stehen.

Das Format der limits.conf Datei (wohnhaft in /etc/security/) ist gut definiert. Allgemein, wir werden eine anwendbare Domäne angeben (als Benutzer, eine Gruppe und sogar Wildcards wie *), eine Art (weiche oder harte Grenze), un elemento con el que se relaciona la regla (Als die nofile elemento que establece el número máximo de archivos abiertos, das locks elemento que establece el número máximo de bloqueos de archivos que un usuario puede mantener, usw.) y por último un valor (la configuración real / máxima).

El encabezado de la limits.conf file lo establece claramente con una cantidad adecuada de detalles:

La información del encabezado limits.conf

Si desea leer más sobre cada elemento específico y otros ajustes de configuración con el limits.conf Datei, Renn einfach:

man limits.conf

En el indicador de su terminal.

La página de manual de limits.conf proporciona amplia información sobre la sintaxis, los modismos y el formato de limits.conf

Ir ilimitado

In der Regel, im Grunde, uno nunca debe ir ilimitado con limits.conf. Dann, Du kannst Fragen, ¿por qué este post? Brunnen, siempre que hay una regla, hay una excepción válida. La excepción, unter diesen Umständen, es para probar servidores. Cuando realice pruebas o trabajos de control de calidad de cualquier tipo, a menudo se encontrará con los límites de un sistema.

Configurar las cosas como ilimitadas, con una configuración adecuada del marco de prueba / Qualitätskontrolle, um sich um das Systemressourcenmanagement zu kümmern, ist eine gültige Ausnahme zur Einhaltung angemessener und systemspezifischer Grenzen innerhalb von limits.conf. Für alle anderen Server, wie angezeigt, eine Konfiguration pro Server wird bevorzugt und empfohlen.

Ohne weitere Präambeln, Lassen Sie uns ein Skript einführen, das alle Variablen und Optionen in . setzt limits.conf bis unbegrenzt. Dieses Skript basiert auf der GPLv2-Lizenz. setup_server.sh Skript im mariadb-qa-Repository auf GitHub. Darüber hinaus könnten Sie daran interessiert sein, dieses Skript nach anderen Dateien zu durchsuchen, die Sie für unbegrenzte Konfigurationen für eine Testserverkonfiguration verwenden können., als Beispiel /etc/sysctl.conf Einstellungen und /etc/systemd/logind.conf

So konfigurieren Sie einen Server als unbegrenzt, Führen Sie das folgende Skript an der Eingabeaufforderung des Server-Terminals aus (Prüfung) Sie als unbegrenzt festlegen möchten.

Warnung: Denken Sie daran, dass dies auf einer Produktionsmaschine wahrscheinlich keine gute Idee ist, es sei denn, Sie haben ein solides Verständnis der Änderung, die Sie vornehmen, wie teilweise in diesem Beitrag erklärt, und tut es aus einem bestimmten und triftigen Grund. Diese Änderung hat auch erhebliche Auswirkungen auf die Sicherheit., und es wird empfohlen, dies nur auf einem Computer zu tun, der sich hinter einer Firewall und einem VPN befindet, Mit anderen Worten, kein öffentlich zugänglicher Server. TLDR; Die Umsetzung erfolgt auf eigene Gefahr.

Das sollten Sie auch wissen, um eine hohe Zahl zu verwenden (größer als ~ 20000) für weiches und hartes nproc kann Systeminstabilität verursachen und hängt an Centos 7, auch wenn nicht in Ubuntu 18, 19 und 20. Mir, y otros ingenieros conmigo, tenemos Usé esta configuración durante bastante tiempo para probar servidores, y para esa aplicación, es ist ideal. Tenga en cuenta que todas las configuraciones son ilimitadas excepto nofile para el cual 1048576 es el máximo.

sudo bash -c "Katze << EOF > /etc/security/limits.conf
* soft core unlimited
* hard core unlimited
* weiche Daten unbegrenzt
* harte Daten unbegrenzt
* soft fsize unbegrenzt
* hart fsize unbegrenzt
* soft memlock unbegrenzt
* harter memlock unbegrenzt
* weiche Nofile 1048576
* harte Nofile 1048576
* soft rss unbegrenzt
* hart rss unbegrenzt
* Softstack unbegrenzt
* Hardstack unbegrenzt
* Soft-CPU unbegrenzt
* harte CPU unbegrenzt
* soft nproc unbegrenzt
* harter nproc unbegrenzt
* weich wie grenzenlos
* hart wie unbegrenzt
* soft maxlogins unbegrenzt
* harte maxlogins unbegrenzt
* soft maxsyslogins unbegrenzt
* hart maxsyslogins unbegrenzt
* Softlocks unbegrenzt
* harte Schlösser unbegrenzt
* weiche Unterzeichnung unbegrenzt
* hard sigpending unlimited
* soft msgqueue unlimited
* hard msgqueue unlimited
EOF"

Una vez que haya ejecutado esto, simplemente reinicie su servidor para cargar todos los nuevos ajustes de configuración. Du wirst keinen Unterschied merken, außer dass dein Test läuft, wenn sie sehr ressourcenintensiv wären, Sie werden nicht mehr bei verschiedenen Problemen bei der Grenzfestlegung haltmachen.

Nachdem ich dies gesagt habe, wie kürzlich bekannt gegeben, werde brauchen, als Teil Ihres Testframeworks, ein robustes Watchdog- und Serverressourcen-Überwachungsverfahren, um sicherzustellen, dass Ihr Server nicht überlastet wird, was oft zu Hängern und Neustartanforderungen führt. In einem zukünftigen Beitrag, es ist möglich, dass es die Grundlagen für ein solches Skript bietet, von wo aus Sie es erweitern können, um Ihr eigenes Setup abzudecken.

Ende

Es sind gültige Anwendungsfälle zu konfigurieren /etc/security/limits.conf zu allen möglichen Maxima. Im Allgemeinen, Sie sind selten (und Testserver sind eine bemerkenswerte Ausnahme).

In diesem Beitrag, Wir haben mehr darüber erfahren limits.conf: warum es existiert und wie man seine Konfiguration ändert. Wir erkunden die limits.conf Format, Syntax und Redewendungen und listete ein einfaches Skript auf, das alle unsere Einstellungen als unbegrenzt festlegen kann.

Inclusive si desea configurar su servidor a límites menores, el script es fácil de adaptar y puede integrarse (como código GPLv2 como se describe) en sus propios scripts: simplemente cambie unlimited a los valores deseados. Esta es además una forma simple de configurar rápidamente un servidor con los valores deseados y, da, unificar y codificar su granja de servidores. limits.conf Einstellung.

Genießen!

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.