Linux系統在高負載下表現出色,但在某些情況下,系統的效能可能無法達到最佳狀態。這時,我們可以透過優化Linux系統的參數來提升系統的效能。 Linux系統有大量的參數,不同的參數對系統的影響不同,因此需要管理員有一定的經驗和技巧。在本文中,我們將介紹如何透過調整核心參數和系統設定文件,來優化Linux系統的效能。
Iptables相關
#如非必須,關掉或卸載iptables防火牆,並阻止kernel載入iptables模組。這些模組會影響並發性能。
單一進程最大開啟檔案數限制
一般的發行版,限制單進程最大可以開啟1024個文件,這是遠遠不能滿足高並發需求的,調整過程如下:
在#號提示字元下敲入:
# ulimit -n 65535
將root啟動的單一進程的最大可以開啟的檔案數設定為65535個。如果系統回顯類似於「Operationnotpermitted」之類的話,說明上述限制修改失敗,實際上是因為在中指定的數值超過了Linux系統對該使用者開啟檔案數的軟限製或硬限制。因此,就需要修改Linux系統對使用者的關於開啟檔案數的軟限制和硬限制。
第一步,修改limits.conf文件,並新增:
# vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536
其中'*'號表示修改所有使用者的限制;soft或hard指定要修改軟限制還是硬限制;65536則指定了想要修改的新的限制值,即最大開啟檔案數(請注意軟限制值要小於或等於硬限制)。修改完後儲存文件。
第二步,修改/etc/pam.d/login文件,在文件中加入以下行:
# vim /etc/pam.d/login
sessionrequired /lib/security/pam_limits.so
這是告訴Linux在使用者完成系統登入後,應該呼叫pam_limits.so模組來設定係統對該使用者可使用的各種資源數量的最大限制(包括使用者可開啟的最大檔案數限制),而pam_limits.so模組就會從/etc/security/limits.conf檔案中讀取設定來設定這些限制值。修改完後儲存此文件。
第三步,查看Linux系統層級的最大開啟檔案數限制,使用以下命令:
# cat/proc/sys/fs/file-max 32568
這表示這台Linux系統最多允許同時開啟(即包含所有使用者開啟檔案數總和)32568個文件,是Linux系統層級硬體限制,所有使用者層級的開啟檔案數限制都不應超過這個數值。通常這個系統級硬限制是Linux系統在啟動時根據系統硬體資源狀況計算出來的優秀的最大同時打開文件數限制,如果沒有特殊需要,不應該修改此限制,除非想為用戶級打開文件數限制設置超過此限制的值。修改此硬限制的方法是修改/etc/sysctl.conf檔案內fs.file-max= 131072
這是讓Linux在啟動完成後強行將系統級開啟檔案數硬限制設定為131072。修改完後儲存此文件。
完成上述步驟後重新啟動系統,一般情況下就可以將Linux系統對指定使用者的單一進程允許同時開啟的最大檔案數限制設為指定的數值。如果重新啟動後用ulimit-n命令查看使用者可開啟檔案數限制仍然低於上述步驟中設定的最大值,這可能是因為在使用者登入腳本/etc/profile中使用ulimit-n命令已經將使用者可同時開啟的文件數做了限制。由於透過ulimit-n修改系統對使用者可同時開啟檔案的最大數限制時,新修改的值只能小於或等於上次ulimit-n設定的值,因此想用此指令增大這個限制值是不可能的。所以,如果有上述問題存在,就只能去打開/etc/profile腳本文件,在文件中查找是否使用了ulimit-n限制了用戶可同時打開的最大文件數量,如果找到,則刪除這行命令,或將其設定的值改為合適的值,然後儲存文件,使用者登出並重新登入系統即可。
透過上述步驟,就為支援高並發TCP連線處理的通訊處理程序解除關於開啟檔案數量方面的系統限制。
透過本文的介紹,我們了解了Linux系統中常用的一些參數調整方法,包括修改核心參數和系統設定檔等。透過這些方法,我們可以優化系統的網路、檔案系統、記憶體等方面的效能。在實際應用中,管理員可以依照自己的需求和場景,靈活調整系統參數,提升系統的運作效率。在維護Linux系統的過程中,最佳化參數是一項不可或缺的工作,它可以幫助我們更好地發揮系統的潛力,並提高系統的可靠性和穩定性。
以上是如何優化Linux系統參數以提升效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!