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