So erhöhen Sie das Stack-Limit dauerhaft ohne Neustart

21657
Simon

Ich muss die Standardstapelgröße unter Linux erhöhen. Wie ich weiß gibt es normalerweise zwei Möglichkeiten:

  • ulimit -s size
  • /etc/security/limits.conf

Die ulimit-Methode funktioniert nur, solange ich angemeldet bin.

limits.conf funktioniert nach einem Neustart.

Gibt es eine Möglichkeit, den Grenzwert ohne Neustart zu erhöhen?

2
Es muss einen Weg geben, dies zu tun. Der Befehl ulimit shell funktioniert für einen Benutzer nicht. Der aktuell angemeldete Benutzer hat keine Berechtigung, sein Limit zu ändern, es sei denn, er ist root. Matt H vor 11 Jahren 0

2 Antworten auf die Frage

4
Patrick87

Was ist daran falsch, wenn Sie Ihre .bashrcDatei bei ulimit -s sizejedem Start einer Terminalsitzung bearbeiten ?

Leider ist das nicht für mich als Benutzer, sondern für den couchdb-Prozess, der abstürzt, weil ein Dokument in der DB zu groß ist, um in den Stapel zu passen. Simon vor 12 Jahren 0
@ Simon: Das bedeutet, dass Sie diesen Vorgang derzeit jedes Mal neu starten? Wie wird das gemacht? Können Sie nicht die 'ulimit -s size' in den Skripten, die den Neustart steuern, zusammenfügen? MSalters vor 12 Jahren 0
Nun, es ist ein Teilprozess von couchdb, der abstürzt (couchjs). Daher sollten alle vom Benutzer couchdb gestarteten Prozesse einen größeren Stack haben Simon vor 12 Jahren 0
0
Vinicius Kamakura

Wenn Sie dies programmgesteuert machen möchten, können Sie die setrlimit()Funktion verwenden.

Leider muss ich das Limit für couchdb festlegen, nicht für ein eigenes Programm. Eine programmatische Einstellung ist also nicht in Frage Simon vor 12 Jahren 0