Ubuntu 18.04 Schritt für Schritt
Hoffe das alles hilft, ziemlich lange aber es funktioniert (mit Beweis)
Ich bin auf diesen Thread gestoßen, als ich MongoDb auf Ubuntu 18.04 installiert habe
https://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/
Wie Sie sehen, ist es ziemlich alt, aber es funktioniert bei mir.
Hier ist was ich getan habe.
Von MongoDb empfohlene Einstellungen ( https://docs.mongodb.com/manual/reference/ulimit/#review-and-set-resource-limits )
- -f (Dateigröße): unbegrenzt
- -t (CPU-Zeit): unbegrenzt
- -v (virtueller Speicher): unbegrenzt [1]
- -l (Speichergröße): unbegrenzt
- -n (offene Dateien): 64000
- -m (Speichergröße): unbegrenzt [1] [2]
- -u (Prozesse / Threads): 64000
Überprüfen Sie meine aktuellen Limits
ubuntu @ isdb-stage: ~ $ ulimit -a
Kerndateigröße (Blöcke, -c) 0
Daten-Seg-Größe (KB, -d) unbegrenzt
Planungspriorität (-e) 0
Dateigröße (Blöcke, -f) unbegrenzt
anstehende Signale (-i) 7873
Maximaler gesperrter Speicher (kByte, -l) 16384
Maximale Speichergröße (KByte, -m) unbegrenzt
offene Dateien (-n) 1024
Pipe-Größe (512 Byte, -p) 8
POSIX-Nachrichtenwarteschlangen (Byte, -q) 819200
Echtzeitpriorität (-r) 0
Stapelgröße (KB, -s) 8192
CPU-Zeit (Sekunden, -t) unbegrenzt
max benutzer prozesse (-u) 7873
virtueller Speicher (KByte, -v) unbegrenzt
Dateisperren (-x) unbegrenzt
Notieren Sie, was geändert werden muss
- Speichergröße gesperrt , muss auf unbegrenzt gesetzt werden.
- Dateien öffnen , muss auf 64000 eingestellt sein
- Prozesse / Threads * , muss auf 64000 gesetzt werden
Was sagt Ubuntu darüber, wie man diese Grenzen ändert?
$ man limits.conf
NAME
limits.conf - Konfigurationsdatei für das Modul pam_limits
BESCHREIBUNG
Das Modul "pam_limits.so" wendet das Limit "ulimit", "nice priority" und "number of simultaneous login sessions" auf Benutzeranmeldesitzungen an. Diese Beschreibung der Konfigurationsdateisyntax gilt für die
/etc/security/limits.conf und * .conf Dateien in der
/etc/security/limits.d verzeichnis.
- Scheint ziemlich klar zu sein, bearbeite die Datei /etc/security/limits.conf. Ok, lass es uns herausfinden ...
Hier ist der Anfang dieser Datei und sie enthält natürlich sogar Anweisungen. Denken Sie daran, dass dies Open Source ist, das von den Guten geschrieben wurde! :)
vi /etc/security/limits.conf
# /etc/security/limits.conf
#Jede Zeile beschreibt ein Limit für einen Benutzer in der Form:
#
#Wo:
# kann sein:
# - ein Benutzername
(Schauen Sie sich die Datei selbst an, wenn Sie weitere Details wünschen.)
- Nehmen Sie schließlich die Änderungen vor. Da MongoDb als Mongodb-Gruppe und -Benutzer ausgeführt wird, ist es eine gute Idee, nur diese Benutzerbegrenzungen zu erhöhen. Ich habe '*' hier und da verwendet gesehen, für mich ist das ein Sicherheitsrisiko. Es gibt alle und verschiedene auf dem Server diese Grenzen, die verwendet werden können, um Ihren Server zu maximieren. Machen wir sie also nur für Mongodb-Benutzer.
Hier sind meine Änderungen: -
mongodb soft memlock unbegrenzt
Mongodb harte Memlock unbegrenzt
mongodb soft nofile 64000
mongodb hard nofile 64000
mongodb soft nproc 64000
mongodb hard nproc 64000
Endlich, endlich, denk dran im Eintrag man limits.conf.
limits.conf - Konfigurationsdatei für das Modul pam_limits
Stellen Sie sicher, dass das pam_limits-Modul geladen ist, damit all diese Einschränkungen funktionieren. Dazu bearbeiten Sie /etc/pam.d/common-session. Das steht natürlich auch in der Manpage.
sudo vi /etc/pam.d/common-session
# Fügen Sie dies hinzu, um sicherzustellen, dass pam_limits.so geladen ist.
Sitzung erforderlich pam_limits.so
Ein Neustart zeigt an, dass die Grenzwerte (für Benutzer mongodb) angewendet wurden. Wenn Sie sie stattdessen mit '*' angewendet haben, können Sie prüfen, ohne zum mongodb-Benutzer wechseln zu müssen. Führen Sie einfach diesen Befehl aus.
$ ulimit -a
Kerndateigröße (Blöcke, -c) 0
Daten-Seg-Größe (KB, -d) unbegrenzt
Planungspriorität (-e) 0
Dateigröße (Blöcke, -f) unbegrenzt
anstehende Signale (-i) 7873
Maximaler gesperrter Speicher (KByte, -l) unbegrenzt
Maximale Speichergröße (KByte, -m) unbegrenzt
offene Dateien (-n) 64000
Pipe-Größe (512 Byte, -p) 8
POSIX-Nachrichtenwarteschlangen (Byte, -q) 819200
Echtzeitpriorität (-r) 0
Stapelgröße (KB, -s) 8192
CPU-Zeit (Sekunden, -t) unbegrenzt
Max. Benutzerprozesse (-u) 64000
virtueller Speicher (KByte, -v) unbegrenzt
Dateisperren (-x) unbegrenzt
Wie Sie sehen können, ist das Jubbly Jubbly auf die von uns gewünschten Grenzen eingestellt.