Bestimmen Sie ulimit für den Root-Benutzer

8

Wir glauben, dass wir die maximale Anzahl offener Dateideskriptoren für den Root-Benutzer erhöht haben. Dazu wurde diese Zeile zu /etc/security/limits.conf hinzugefügt:

*         -    nofile            2048

Wir glauben, wir haben bestätigt, dass das Limit des Root-Benutzers erhöht wurde, da wir feststellen können (hier nicht beschrieben), dass in unserer Anwendung (solr - die von root ausgeführt wird) 1098 Dateien geöffnet sind. Wir können jedoch nicht sicher sagen, wie viele geöffnete Dateien der Root-Benutzer zulassen darf. Wir würden erwarten, dass dieser Befehl funktioniert, aber es scheint nicht so zu sein:

$ sudo -u root -s "ulimit -Sn"
1024

Irgendwelche Ideen? Vielen Dank!

andersonbd1
quelle
Gibt es noch andere Einträge für nofile in der Datei "limits.conf"? Vielleicht wird es überschrieben. Was ist mit möglichen Analysefehlern von limit.conf? Können Sie Ihre gesamte Datei anhängen?
Andrew Case
Laufen Sie mit Selinux? Was ist die Ausgabe von: ls -lZ /etc/security/limits.conf
Andrew Case

Antworten:

6

Holen Sie sich die PID des solrlaufenden Prozesses und dann cat /proc/$SOLR_PID/limits- dies zeigt Ihnen die tatsächlichen Grenzen des Prozesses.

Ich würde empfehlen, Dinge wie solrals separater, nicht privilegierter Benutzer auszuführen . Dabei haben Sie mehrere Möglichkeiten ( limit.conf oder fügen Sie ulimit -n 2048dem init-Skript ein hinzu, ...). Der letzte ist nicht so glänzend, funktioniert aber für schnelle Einstellungen und einen Neustart des Dämons

RANT: Sag mir nicht, dass du nicht neu starten kannst, weil du den Service verlierst. Wenn das der Fall ist, solltest du sowieso ein HA-Setup haben :)

Martin M.
quelle
5

Nach dem Ändern der Anzahl geöffneter Dateien /etc/security/limits.confmuss sich der Benutzer abmelden und wieder anmelden, um wirksam zu werden. Versuchen Sie Folgendes:

$ sudo su -
# ulimit -Sn
Quanten
quelle
2

Ich weiß, dass diese Frage eine Antwort hat, aber das sieht eher nach einer Umgehung aus, nicht nach einer wirklichen Lösung.

Laut Ubuntu handelt es sich nicht um einen Fehler, sondern um ein Dokumentationsproblem. Siehe: https://bugs.launchpad.net/ubuntu/+source/pam/+bug/65244

Vielen Dank für Ihren Bericht. Wie Sie sagten, ist dies kein Fehler in Pam, sondern ein Dokumentationsproblem. Die Tatsache, dass Limits für Benutzer root explizit zugelassen werden sollen, wurde vor einiger Zeit (30. August 2000) behoben. Sie müssen jedoch Benutzer root explizit benennen, um die Limits anzuwenden.

Wenn Sie also das Ulimit für alle Benutzer ändern möchten, einschließlich des Root-Benutzers, müssen Sie Folgendes angeben:

*         -    nofile            2048
root      -    nofile            2048
Zunderscore
quelle