1. 程式人生 > >centos 7的/etc/rc.local啟動的服務無法突破ulimit -n檔案數限制

centos 7的/etc/rc.local啟動的服務無法突破ulimit -n檔案數限制

linux很多系統優化配置問題,一定是運維過生產環境系統才能體會到問題的坑,因為生產環境才會有各種各樣的奇葩事情發生,比如如下的情況,ulimit -n檔案數明明設定了,可是在線上環境就是提示開啟檔案數過多。

具體情況如下:

[root@mcuhome]# ulimit  -n
102400

    /etc/security/limits.conf檔案的連線數配置
    * soft nproc 102400
    * hard nproc 102400
    * soft nofile 102400
    * hard nofile 102400
    * soft stack 20480
    * hard stack 20480
    由/etc/rc.local啟動的程式,連結數依然使用預設1024,網上有2種關於該問題的說法(a種說法更為可靠):
            a//etc/security/limits.conf配置的生效只針對觸發了tty ssh登入的使用者(我們的服務是守護啟動,沒有tty ssh登入,所以未生效)

            b//etc/security/limits.conf配置的生效晚於/etc/rc.local自啟動(我們的所有程式服務由/etc/rc.local啟動),相當於我們的程式服務啟動時,網路連線數限制的配置還未生效,使用的是預設配置1024個連線。
    通過/etc/profilet新增如下配置,可解決該問題。
        ulimit -c unlimited
        ulimit -n 102400