2017-02-19 60 views
0

文件描述符的ulimit的方式,我有幾臺服務器,其中,而在一些200000.Not肯定取決於它是採取什麼樣的參數的ulimit設置爲65536,稱在 [On Linux - set maximum open files to unlimited. Possible?什麼是找到Linux的

給出的問題

但是仍然不清楚,什麼決定了我們可以設置的文件描述符的最大限制?它依賴於內存嗎?操作系統版本或可以是任何東西。或者我可以把任何1024以上的隨機數字?

+0

因爲我們可以編輯/ proc/sys/file-max所以沒辦法,我可以找到最大文件描述符限制,我可以設置和系統可以支持而不會發生任何崩潰 – Niceha

回答

0

根據proc(5)聯機幫助頁,fs.file-max sysctl適用於所有進程的打開文件數。但是,特權進程(CAP_SYS_ADMIN)可以覆蓋文件最大限制。

要設置每個進程的限制,您必須使用RLIMIT_NOFILE運行setrlimit(2)。請注意軟限制和硬限制之間的差異。

+0

我的問題是究竟是什麼我可以設置的限制以及它依賴的參數?正如我可以解釋你的意思是說運行setrlimit命令會給我最大數量,是嗎?因爲我沒有發現這樣的命令 – Niceha

+0

setrlimit()是一個系統調用。該命令(從shell內建)是ulimit。要查看軟限制:'ulimit -a'。要查看硬限制:'ulimit -Ha'。你可以將軟限制提高到硬限制。只有超級用戶可以提高硬性限制。要爲用戶設置限制,您必須編輯/etc/security/limits.conf。如果限制太小,請在syslog中查找「VFS:file-max limit 達到」錯誤消息。 初始值取決於可用內存量。運行'help ulimit'查看用於設置每個限制的標誌。 –