select中存放檔案描述符的陣列大小fd_setsize為1024
程序的檔案描述符上限預設是1024,正是因為這個原因,select設計時才把陣列大小設計為1024
程序的檔案描述符上限是可以手動修改的
# 檢視程序的檔案描述符上限
ulimit -n
# 修改程序的檔案描述符上限為2048,臨時修改,只對當前shell有效
ulimit -shn 2048
vi /etc/security/limits.conf
* hard nofile 65536
* soft nofile 65536
但是select的陣列大小改不了 (╯‵□′)╯︵┻━┻,要改只能重新編譯核心
除了每個程序的檔案描述符有上限以外,系統還有乙個總的上限,預設是100262
# 檢視系統的檔案描述符上限,方法一
sysctl -a | grep file
-max
# 檢視系統的檔案描述符上限,方法二
cat /
proc
/sys/fs/
file
-max
# 修改系統的檔案描述符上限
sysctl -w fs.
file
-max=
2048
# 使修改生效
sysctl -p
linux中檔案描述符
在linux系統中,所有東西都可以看成是檔案,檔案又可以分為普通檔案,目錄檔案,鏈結檔案和裝置檔案。檔案描述符是核心為了高效管理已被開啟的檔案所建立的索引,是乙個非負整數用於指代被開啟的檔案,所有執行i o操作的系統呼叫都是通過檔案描述符。程式剛剛啟動的時候,0是標準輸入,1是標準輸出,2是錯誤輸出...
mysql 檔案描述符 檔案描述符
toc 首先,linux的世界裡一切皆為檔案,無論是裝置還是乙個socket連線。檔案又可分為 普通檔案 目錄檔案 鏈結檔案和裝置檔案。檔案描述符 file descriptor 是核心為了高效管理已被開啟的檔案所建立的索引,其是乙個非負整數 通常是小整數 用於指代被開啟的檔案,所有執行i o操作的...
檔案描述符
檔案描述符 是個很小的正整數,它是乙個索引值,指向核心為每乙個程序所維護的該程序開啟檔案的記錄表。檔案描述符的優點 相容posix標準,許多 linux 和unix 系統呼叫都依賴於它。檔案描述符的缺點 不能移植到unix以外的系統上去,也不直觀。基於檔案描述符的輸入輸出函式 open 開啟乙個檔案...