為取得最佳的產品效能,請增加比預設 1024 個檔案控點還多的控點數目。
開始之前
重要: 在使用產品之前,請增加檔案控點數目。大部分產品會使用超過檔案控點數的預設限制,即每個程序 1024 個。
系統管理者可能需要進行這項變更。
關於這項作業
確定您將正確完成下列步驟。如果沒有正確完成這項程序,您的電腦將不會啟動。
若要增加 Linux 電腦上的檔案控點數,請完成下列步驟:
程序
- 以 Root 身分登入。如果您沒有 root 存取權,您需要先取得存取權,才能繼續進行。
- 切換至 etc 目錄。
小心: 如果您決定在下一個步驟中增加檔案控點的數目,「請勿」將空的 initscript 檔留在電腦中。否則,下次重新啟動時,電腦將無法啟動。
- 利用 vi 編輯器來編輯 etc 目錄中的 initscript 檔。如果此檔案不存在,請輸入 vi initscript 加以建立。
- 在第一行輸入 ulimit -n 4096。需要注意的是,4096 明顯大於 1024(大部分 Linux 電腦上的預設值)。
重要: 控點數目請勿設定過多,因為如此做會對全系統的效能造成負面影響。
- 在第二行輸入 eval exec "$4"。
- 確定已完成步驟 4 和 5 後,儲存並關閉檔案。
- 選擇性的: 在 etc/security 目錄中修改 limits.conf 檔,以限制提供給使用者或群組的控點數。依預設,SUSE Linux Enterprise Server (SLES) 第 9 版和 Red Hat Enterprise Linux 4.0 版都具有此檔案。如果您沒有這個檔案,可考慮在上述程序的步驟 4 中使用較小的數字(例如 2048)。請這樣做,使大部分使用者對於每一程序允許開啟的檔案數有合理的下限。
如果您在步驟 4 中使用相對較低的數字,則這個動作就比較不重要。然而,如果在前述步驟 4 中設定較大的數目,而且未在 limits.conf 檔中建立限制,則會顯著降低電腦效能。
下列的 limits.conf 檔範例限制了所有的使用者,然後,再針對其他使用者設定不同的限制。這個範例假設您在步驟 4 中,將控點數設為 8192。
* soft nofile 1024
* hard nofile 2048
root soft nofile 4096
root hard nofile 8192
user1 soft nofile 2048
user1 hard nofile 2048
請注意,上述範例中的
*
是先針對所有使用者設定限制。這些限制低於後續限制。root 使用者具有較大的可容許開啟控點數,而 user1 可以使用的控點數介於前述兩個空點數之間。確保讀懂 limits.conf 檔中所包含的使用說明,然後再進行變更。