Die Underappreciated ulimit

Sie können von der denken ulimit

Befehl als beste Lösung des Linux-Administrator für die Beschränkung, was die Nutzer können und nicht tun können. Jeder Linux-Admin hat mindestens einen Benutzer, der scheint nur wissen, wie Sie Ihr System / Netzwerk / Nerven zu Fall zu bringen, um ein Crawling. Während sie nicht absichtlich, so zu tun, bedeutet, ist es oft eine Manifestation ihrer Prozesse zu binden und versuchen, die Dinge zu tun, die sie mit nicht ganz fließend sind.

Das ulimit Befehl ist einfach zu tun und in der mitgelieferten heftiger schlag Schale. Die Schönheit der es ein Teil der Schale ist, dass Sie können entweder

  • Einschließen ulimit in das Profil des einzelnen Benutzers und beschränken sie auf diesen Benutzer.

  • Zeigen Sie mit Einschränkungen / Etc / profile und sie gelten für alle Benutzer.

Es ist wichtig zu wissen, dass ulimit nicht Speicherplatz begrenzen - das ist die Domäne der ist Quote Reihe von Befehlen. Stattdessen, ulimit soll Prozesse zu steuern und Sie können sie auf drei Arten beschränken:

  • Unlimited (Standardeinstellung)

  • Harte begrenzt (der Benutzer kann nicht überschreiten)

  • Weiche begrenzt (der Benutzer kann kaum überschreiten).

Ob die Grenze Sie Platz hart oder weich allein basiert darauf, ob Sie die Verwendung -H oder -S Parameter.

Eine vollständige Liste der Parameter, die eingestellt werden können, kann in der Mann-Datei gefunden heftiger schlag, aber diese sind einige der besten Anwendungen dieser Funktion.

Sehen, was derzeit gesetzt ist

Um zu sehen, welche Grenzen derzeit gesetzt sind, geben Sie ulimit in der Befehlszeile. Wenn es keine harten oder weichen Beschränkungen sind, kehrte die Antwort einfach sein unbegrenzt. Dies bedeutet nicht, gibt es keine Grenzen, aber, und man muss vorsichtig sein, um nicht in die Falle tappen diese Art des Denkens. Art ulimit -a und eine Liste aller Einschränkungen wird angezeigt. Dies ist ein viel nützlicher Antwort und wird wie folgt aussehen:

Kern Dateigröße (Blöcke, -c) 0data seg Größe (Kilobyte, -d) unlimitedfile Größe (Blöcke, -f) unlimitedmax Speicher gesperrt (kByte, -l) 32max Speichergröße (Kilobyte, -m) unlimitedopen Dateien (-n) 1024pipe Größe (512 Bytes, -p) 8stack Größe (Kilobyte, -s) unlimitedcpu Zeit (Sekunden, -t) unlimitedmax Benutzerprozesse (-u) 2038virtual Speicher (Kilobyte, -v) unbegrenzt

Nicht nur, dass diese geben ein realistischeres Bild der Systemgrenzen, aber es enthält auch die Parameter, die Sie verwenden müssen, um eine der Einstellungen zu ändern (Speichern Sie davon ab, die zu lesen Mann Seiten). Diese Einstellungen, die Sie am häufigsten zu deckeln wollen, sind diejenigen Prozesse im Zusammenhang, virtuellen Speicher und Dateigröße.

Das Einstellen eines Wertes

Der einfachste Weg, eine Grenze zu setzen, ist der Parameter zu verwenden, die erforderlich ist, und den Wert angeben. Zum Beispiel reduzieren signifikant die Anzahl der Prozesse ein Benutzer aus dem Standard zu 100 haben, können Sie den Befehl ulimit -u 100. Interessanterweise, wenn Sie schreiben ulimit, Sie werden immer noch die Antwort "unbegrenzt" zu bekommen. Nun aber, wenn Sie schreiben ulimit -a die Antwort wird folgendermaßen aussehen:

Core-Datei siz (Blöcke, -c) 0data seg Größe (Kilobyte, -d) unlimitedfile Größe (Blöcke, -f) unlimitedmax Speicher gesperrt (kByte, -l) 32max Speichergröße (Kilobyte, -m) unlimitedopen Dateien (-n) 1024pipe Größe (512 Bytes, -p) 8stack Größe (Kilobyte, -s) unlimitedcpu Zeit (Sekunden, -t) unlimitedmax Benutzerprozesse (-u) 100virtual Speicher (Kilobyte, -v) unbegrenzt

da weder -H noch -S angegeben wurden, wird der Wert sowohl hart und weich. Um zu sehen, dass dieser Wert eine gewisse Bedeutung hat, setzen Sie ihn auf Ihrer eigenen Sitzung mit diesem Befehl sehr niedrig, und beobachten Sie das Ergebnis: ulimit -u 2.

Einstellen weichen Grenzen

Einmal eingestellt, kann keine harte Grenze erhöht werden, während eine weiche Grenze erhöht werden kann, bis sie den Wert einer harten Grenze erreicht. Angenommen, die maximale Benutzerprozesse noch 2.038 (die es zurück gesetzt werden kann ulimit -u 2038), Und Sie wollen nur die weiche Grenze zu ändern. Der Befehl zu geben, nur die weiche Grenze zu ändern ist: ulimit -S -u 100.

Die Eingabe in ulimit -a wird der Wert bei 100 gesetzt zeigen und Sie nicht wirklich auf die Tatsache aufmerksam machen, dass dies eine weiche Grenze ist. Um zu sehen, was vor sich geht, geben Sie ulimit -H -a und ulimit -S -a und vergleichen Sie die Ausgabe der beiden Befehle. Sie sollten mit Ausnahme der Anzahl von Benutzerprozessen identisch sein, wobei die harte Grenze 2038 zu sein und die weiche Grenze 100 zu sein.

Um zu sehen, den Unterschied das macht, versuchen ulimit -S -u 2 und beobachten Sie das Ergebnis, es mit zu vergleichen, was früher geschehen ist. Sie sind jetzt überschreiten die Grenze erlaubt.

Denken Sie an eine weiche Grenze eher als ein Empfehlung als die Regel.

Einstellen harten Grenzen

Eine harte Grenze ist wirklich ein Regel. Einmal eingestellt, kann es nicht überschritten werden.

Die beiden Möglichkeiten, um die harte Grenze zu setzen sind, um entweder

  • Nicht angeben etwas (ulimit -u 100), was effektiv setzt sowohl die harten und weichen Grenzen

  • Verwenden Sie den Parameter -H: ulimit -H -u 100

Um einen Wert auf unlimited festgelegt, verwenden Sie das Wort selbst: ulimit -u unbegrenzt.

Um nur einen Wert zu sehen, die angeben, dass der Parameter. Um zum Beispiel den weichen Wert von Benutzerprozessen zu sehen, geben Sie: ulimit -Su

Die Standardwerte werden festgelegt in / Etc / profile aber kann (in einigen Implementierungen) auch Derivate von Werten festgelegt in / Etc / Init-Skript oder /etc/security/limits.conf.

Menü