2017-03-03 5 views
9

nicht erhöhen Ich möchte Dateideskriptoren für Rabbitmq Server erhöhen.Kann Dateideskriptoren für Rabbitmq

Maschinendetails:

[email protected]:/home/# uname -a 
Linux rabbitmq-stats-node 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u1 (2017-02-22) x86_64 GNU/Linux 

Hier sind die Details der Konfigurationsparameter geändert:

[email protected]:/home/# cat /proc/sys/fs/file-max 
500000 

[email protected]:/home/# tail -n1 /etc/pam.d/common-session 
session required pam_limits.so 

[email protected]:/home/# tail -n1 /etc/pam.d/common-session-noninteractive 
session required pam_limits.so 

[email protected]:/home/# tail -n4 /etc/security/limits.conf 
*   soft nofile   65536 
*   hard nofile   500000 
root   soft nofile   65536 
root   hard nofile   500000 

[email protected]:/home/# sysctl -p 
fs.file-max = 500000 

[email protected]:/home/# sudo service rabbitmq-server restart 

[email protected]:/home/# sudo reboot 

Nachdem alle Konfigurationsänderungen, ich bin nicht in der Lage Datei desciptors Grenze zu ändern.

[email protected]:/home/# rabbitmqctl status | grep -A1 descriptors 
{file_descriptors, 
    [{total_limit,924},{total_used,13},{sockets_limit,829},{sockets_used,3}]}, 

ich geänderte Grenze sehen kann, wenn ich eingeben,

[email protected]:/home/# ulimit -n 
65536 

Obwohl die Änderungen nicht in rabbitmq Installation reflektiert werden.

Ich habe auch versucht, ulimit Zeile zu /usr/lib/rabbitmq/bin/rabbitmq-env Datei hinzuzufügen. Obwohl rabbitmq Server nach dem Hinzufügen dieser Änderung nicht gestartet wird. Fehler ausgelöst:

ulimit: error setting limit (Operation not permitted) 

Antwort

0

In Datei /etc/systemd/system/rabbitmq-server.service.d/limits.conf Hinzufügen dieser löst das Problem (die ich für die Produktion nicht empfehlen),

[Service] 
LimitNOFILE=300000 

Weitere Informationen finden Sie hier: https://www.rabbitmq.com/install-debian.html [Steuern der Systemgrenzen unter Linux]

0

Eigentlich einen schnellen Test zu machen, mein Benutzer das Hinzufügen läuft (nennen wir ihn my_user) rabbitmq zu /etc/security/limits.conf folgendes:

my_user   soft nofile   65000 
my_user   hard nofile   65000 

dann melde dich an und wieder zurück, rabbitmq starten, und die Überprüfung der Anzahl der Datei-Deskriptoren wie du, ich erhalten:

{file_descriptors, 
    [{total_limit,64900},... 

Also kann ich daraus schließen, dass es funktioniert. Jetzt vermute ich sehr von dem, was Sie schreiben, dass der Benutzer, der rabbitmq ausführt, nicht der root-Benutzer ist, sondern ein anderer. Die Erhöhung von max file descriptors scheint jedoch nur auf den root-Benutzer angewendet zu werden, folglich werden keine Unterschiede bei der Ausführung von rabbitmq gesehen.

Um es genauer zu überprüfen, wäre es gut sein, dass Sie die „Service“ Skript schreiben lief, wenn Sie eingeben:

sudo service rabbitmq-server restart 

Nun, wenn Sie Ihre Änderungen gearbeitet sicherstellen möchten, können Sie direkt starten rabbitmq als root

Verwandte Themen