Số lượng ổ cắm tối đa trên Linux


12

Có vẻ như máy chủ bị giới hạn ở ~ 32720 ổ cắm ... Tôi đã thử mọi thay đổi đã biết để tăng giới hạn này. Nhưng máy chủ vẫn bị giới hạn ở mức mở ổ cắm 32720, ngay cả khi vẫn còn 4Go bộ nhớ trống và 80% cpu nhàn rỗi ...

Đây là cấu hình

~# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 63931
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 798621
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 2048
cpu time               (seconds, -t) unlimited
max user processes              (-u) 63931
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

net.netfilter.nf_conntrack_max = 999999
net.ipv4.netfilter.ip_conntrack_max = 999999
net.nf_conntrack_max = 999999

Có suy nghĩ gì không? (Câu hỏi này khi được hỏi về chồng chéo không có may mắn cho đến nay)


serverfault.com/questions/10852/ Có một số dữ liệu tốt
sysadmin1138


Tôi đã kiểm tra các chủ đề đó trước khi đăng, không có may mắn
TheSquad

Câu trả lời:



2

Bạn đang tìm sai chỗ cho cái này; bạn không chạy trong giới hạn người dùng, bạn đang chạy trong giới hạn hệ thống, thường là sức mạnh thứ 15 của 2 trên hệ thống 32 bit, đó là điều tôi đoán hệ thống của bạn. Kiểm tra:

 % cat /proc/sys/kernel/pid_max 
 32768
 %

Nhưng bạn cũng có thể thay đổi điều đó; trên máy 32 bit sẽ là 2 ** 22 làm giới hạn trên tuyệt đối, vì vậy:

% sudo bash -c 'echo 4194303 > /proc/sys/kernel/pid_max'
%

Tôi muốn biết làm thế nào bạn đi.


pid_max đã ở 999999
TheSquad

1

Nếu bạn thực sự đang cố gắng xem xét số lượng ổ cắm tối đa bạn có thể mở kết nối, bạn có thể thử xem cat / Proc / sys / net / ipv4 / ip_local_port_range; đây là phạm vi cổng mà kernel sẽ sử dụng cho các socket ngoài và nó có các giá trị mặc định khác nhau dựa trên phân phối của bạn. Đặt nó thành một cái gì đó như '1024 65535' là mở rộng như bạn có thể có được nó; xem nếu điều đó giúp mọi thứ.


ip_local_port_range đã ở mức 1024 65535.
TheSquad

0

Tôi xin lỗi nếu có điều gì đó tương tự đang được nói trong các chủ đề, nhưng tôi không có thời gian để đọc chúng ngay bây giờ: <

Với cái nhìn đầu tiên tôi thấy rằng số lượng ổ cắm mà bạn đề cập là khoảng một nửa số quy trình người dùng tối đa. Như tôi có thể đoán bạn có một quy trình riêng cho mọi ổ cắm (có thể bạn sẽ chạy một máy chủ hoặc một cái gì đó tương tự)

Những gì bạn có thể làm là kiểm tra số lượng quá trình vào lần tiếp theo bạn đạt đến giới hạn của ổ cắm.

Chỉ là một ý tưởng, tôi không biết nếu nó giúp.


Không, không phải: # ps -ef | grep -c 'root' = 147
TheSquad

đó là trong môi trường kiểm soát? bạn có thể làm một số kiểm tra? ví dụ, có bao nhiêu quy trình được tạo với mỗi yêu cầu? Ngoài ra, ưu tiên của máy chủ là gì? Nếu bạn đổi mới nó có thay đổi gì không? Nếu không, thì tôi gần như chắc chắn rằng bạn đạt đến giới hạn quy trình hoặc giới hạn luồng trong một quy trình:>
Nikolaidis Fotis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.