Linux下最大連接數的講解


1、查看最大連接數

[root@sd-lt-53 ~]# ulimit -n
1024

這里的1024是指當前用戶的進程最多允許同時打開1024個文件,其實真正的數量是小於這個的,因為還得去掉每個進程的標准輸入,標准輸出,標准錯誤,服務器監聽socket,進程間通訊的unix域socket等文件,這樣剩下的可用文件數大概會在1014左右。也就是說當前用戶的最大打開文件數為1014個,即最大支持1014個並發連接。

2、修改最大連接數

如果我們想支持更大的tcp並發連接,就必須更改對當前用戶的進程同時打開的文件數量的軟限制(soft limit)和硬限制(hard limit)。

什么是軟限制和硬限制呢?

軟限制:指Linux在當前系統能夠承受的范圍內進一步限制用戶同時打開的文件數

硬限制:指根據系統硬件資源狀況(系統內存)計算出來的系統最多可同時打開的文件數量

所以一般軟限制是小於硬限制的

1)通過ulimit修改

[root@devilf ~]# ulimit -n 65535
[root@devilf ~]# ulimit -n
65535

 

注意:如果修改失敗,則需要查看下配置文件

2)修改/etc/security/limits.conf

# End of file
root soft nofile 20480
root hard nofile 20480

 

這里的root代表的是要修改root用戶的打開文件數限制,如果想為其他用戶設置,則可以寫其他用戶的名字,想為所有用戶設置的話,可以寫 " * "

3)修改/etc/pam.d/login文件,在文件中添加如下行

session    required    /lib/security/pam_limits.so

 

注:這里是讓用戶登陸后,告訴系統應該調用pam_limits.so模塊來完成設置系統對該用戶可使用的各種資源數量的限制

另外需要注意的一個地方是:我們這里需要查看下Linux系統級的最大打開文件數限制:

[root@SDLT-52 ~]# cat /proc/sys/fs/file-max 
3253341

  

如果這里的數和你要設置的最大打開數不符,那么我們可以修改rc.local文件,讓每次Linux啟動后自動修改

echo "20480" > /proc/sys/fs/file-max

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM