一般的設置規則為:
系統最大文件數>可用端口>用戶最大文件數
sysctl -a | grep file-max
cat /proc/sys/fs/file-max
這表明這台Linux系統最多允許同時打開(即包含所有用戶打開文件數總和)798031個文件,是Linux系統級硬限制,所有用戶級的打開文件數限制都不應超過這個數值。通常這個系統級硬限制是Linux系統在啟動時根據系統硬件資源狀況計算出來的最佳的最大同時打開文件數限制,如果沒有特殊需要,不應該修改此限制,除非想為用戶級打開文件數限制設置超過此限制的值。修改此硬限制的方法是修改/etc/rc.local腳本,在腳本中添加如下行:
echo 65535 > /proc/sys/fs/file-max
這是讓Linux在啟動完成后強行將系統級打開文件數硬限制設置為65535。修改完后保存此文件。
一、文件數限制修改
1、vi /etc/security/limits.conf
其中test指定了要修改哪個用戶的打開文件數限制。
可用'*'號表示修改所有用戶的限制;soft或hard指定要修改軟限制還是硬限制;65535則指定了想要修改的新的限制值,即最大打開文件數、進程數和堆棧數(請注意軟限制值要小於或等於硬限制)。
2、上面的永久修改方式重啟還不會生效,需要執行
vi /etc/pam.d/login
在末尾添加
session required /usr/lib64/security/pam_limits.so
作用是告訴Linux在用戶完成系統登錄后,應該調用pam_limits.so來執行limit.conf這個文件
這是告訴Linux在用戶完成系統登錄后,應該調用pam_limits.so模塊來設置系統對該用戶可使用的各種資源數量的最大限制(包括用戶可打開的最大文件數限制)。
而pam_limits.so模塊就會從/etc/security/limits.conf文件中讀取配置來設置這些限制值。
二、網絡端口限制修改
1、查看端口范圍
sysctl -a | grep ipv4.ip_local_port_range
2、修改端口范圍
vi /etc/sysctl.conf
添加
net.ipv4.ip_local_port_range = 1024 65535
3、執行sysctl -p 生效
再次查看
注意:
如果沒生效,以上所有設置都可以重啟服務器使其生效