1. 程式人生 > >Linux:使用ulimit設定檔案最大開啟數

Linux:使用ulimit設定檔案最大開啟數

大家都知道Linux系統預設開啟檔案數是1024,而實際的生產環境中,這個值總是顯得太小,而太小的後果就是你的系統會報:too many open files 等這樣的錯誤導致你係統死掉,所以我們總是要修改這個值,雖然表面上看來,Linux提供了ulimit這樣的命令讓你修改這個檔案開啟數,但不幸的是,過程遠遠沒有看到的那麼簡單,下面子猴就談談這方面的問題。

1、  首先我們通過ulimit –a命令來檢視系統的一些資源限制情況,如下

紅框中所示的是最大檔案開啟數,一般情況下是1024,但由於我係統已經改為了32768,所以現在看到的是32768。

我們也可以通過ulimit –n命令來檢視最大檔案開啟數,如下:

32768

2、  修改目標

我們的目標是:讓每一個使用者登入系統後系統開啟的最大檔案數都是我們設定好的。

但我這裡不得不說的是:非常遺憾,網上很多這方面關於ulimit設定修改資源限制的文章,但沒一篇文章管用。

把這個目標分解為兩個目標:

2.1、設定對root使用者登入系統生效

這個目標可以實現起來不難

2.2、設定對所有使用者生效

這個就非常麻煩了,弄不好還會把你的系統給整壞,因為要重編譯Linux的核心才行!

所以權衡之下,我只實現了第一個目標,因為第二個目標的風險太大,我想如果我之前知道這點,那麼我在裝系統的時候我會先做這個處理,但現在我覺得已經晚了。

3、  修改的地方

3.1、修改/etc/security/limits.conf

通過 vi /etc/security/limits.conf修改其內容,在檔案最後加入(數值也可以自己定義):

* soft  nofile = 32768

* hard  nofile = 65536

3.2、修改/etc/profile

通過vi /etc/profile修改,在最後加入以下內容

ulimit -n 32768

然後重新登入即可生效了。

說明

其實只修改/etc/profile就可以生效了,但我還是建議把/etc/security/limits.conf也修改一下。

最後強調的是,你如果要使得修改對所有使用者都生效,那麼現在看來你只能重新編譯Linux的核心才行。

如無轉載說明,則均為本站原創文章,轉載請註明:來源:

子猴部落格