1. 程式人生 > >ulimit 句柄數修改

ulimit 句柄數修改

ulimit

ubuntu 16.04 ulimit

最近,網站一到高峰期,CPU就會飆升到100%,但內存,IO,網絡等一切正常,有可能是ulimit的問題,馬上查看文件句柄數限制

ulimit -n

得到的結果是:1024,這個值對生產中的服務顯得偏小。

網上給出的解決方案,大部分是直接輸入

ulimit -SHn 65535 # 65535可自己根據應用調整

此法缺點很明顯,一旦退出登陸,設置就失效了。

到一個正確的做法

1.打開/etc/security/limits.conf,追加:

* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

重新啟動後發現ulimit -a 普通用戶已經更改為了65535 ,然後切換到root管理員賬戶後發現依然是1024,重啟操作是第一天下午做,下面的命令是第二天配置,

2.編輯/etc/pam.d/common-session,加入一行

session required pam_limits.so

3.編輯/etc/profile,加入這個只是正對當前用戶起作用,退出就沒有了。

ulimit -SHn 65535


後續又在 /etc/security/limits.conf中追加一行:


root - nofile 65535


經過測試,只是對root有效,而且根據資料顯示,root這個必須單獨一行~

因為root 是配置在visudo 中的:類似如下展示:

root ALL=(ALL:ALL) ALL


因為在visudo

最後 在root 賬號下

ulimit -n 65535,生效了。高興了,不用再重啟啟動了,因為這個機器安裝了200個docker容器。

然後ulimit -a 查看即可更改成功。

還有的人這樣做測試,然而我並沒有按照如下的方法去做。

# 修改 /etc/systemd/system.conf

DefaultLimitNOFILE=65535

DefaultLimitNPROC=65535


ulimit 句柄數修改