2017-03-03 14 views
9

Tôi muốn tăng các bộ mô tả tập tin cho máy chủ Rabbitmq.Không thể tăng các bộ mô tả tập tin cho rabbitmq

Machine chi tiết:

[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 

Dưới đây là chi tiết các thông số cấu hình đã thay đổi:

[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 

Sau khi tất cả những thay đổi cấu hình, tôi không thể thay đổi desciptors tập tin giới hạn.

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

tôi có thể thấy thay đổi giới hạn khi tôi nhập,

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

Mặc dù những thay đổi không được phản ánh trong cài đặt RabbitMQ.

Tôi cũng đã thử thêm dòng ulimit vào /usr/lib/rabbitmq/bin/rabbitmq-env tệp. Mặc dù máy chủ thỏmq không khởi động sau khi thêm thay đổi này. Lỗi được tạo ra:

ulimit: error setting limit (Operation not permitted) 

Trả lời

0

Trong file /etc/systemd/system/rabbitmq-server.service.d/limits.conf thêm này giải quyết vấn đề,

[Service] 
LimitNOFILE=300000 

Thông tin thêm có sẵn tại đây: https://www.rabbitmq.com/install-debian.html [Kiểm soát giới hạn hệ thống trên Linux]

0

Trên thực tế thực hiện một thử nghiệm nhanh chóng, thêm người dùng của tôi chạy (hãy gọi anh ta my_user) RabbitMQ để /etc/security/limits.conf sau:

my_user   soft nofile   65000 
my_user   hard nofile   65000 

Sau đó đăng xuất và đăng nhập lại, bắt đầu từ thỏmq và kiểm tra số lượng bộ mô tả tệp như bạn đã làm, tôi nhận được:

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

Vì vậy, tôi có thể kết luận rằng nó hoạt động. Bây giờ tôi rất nghi ngờ từ những gì bạn đang viết rằng người dùng chạy rabbitmq không phải là người dùng root, nhưng một người khác. Tuy nhiên sự gia tăng của các mô tả tập tin tối đa dường như chỉ áp dụng cho người dùng root, do đó không có sự khác biệt nào được thấy khi chạy rabbitmq.

Để kiểm tra xem nó một cách chi tiết hơn, nó sẽ là tốt mà bạn đăng "dịch vụ" kịch bản chạy khi bạn nhập:

sudo service rabbitmq-server restart 

Bây giờ nếu bạn muốn chắc chắn thay đổi của bạn làm việc, bạn có thể bắt đầu trực tiếp RabbitMQ như gốc (mà tôi không khuyên bạn nên phục vụ sản xuất)

Các vấn đề liên quan