Debian/Ubuntu 的 ulimit 對 root 無效問題

2019-07-21 CentOS, OS, Ubuntu

因為管理的環境有 CentOS / Ubuntu 兩種,常常要設定一個功能都要找看看能不能兩邊都能動,這篇要講的是 ulimit 大家很常用的功能

ulimit 是一個系統內建的 security 功能,預設限制系統的使用量,就像是網路的 QoS 一樣,但如果沒有調整,在量大的時候會遇到像「CentOS Nginx (Too many open files in system) 系統限制檔案開啟數量」這樣的情況。

一般情況下就是在 ulimit.conf 用 * 表示所有使用者

* soft nofile 65535   
* hard nofile 65535

但是在 Ubuntu 卻無法生效,找了一下發現,在 Debian 體系 * 無法涵括 root

官方說這並不是 Bug,最後決定更新文件告訴大家 * 不適用 root

NOTE: group and wildcard limits are not applied to the root user. To set a limit for the root user, this field must contain the literal username root.

所以看 CentOS 和 Ubuntu 兩個 limits.conf 的文件會有些許不同 …

在 Debian 體系的系統要修改 root 可以這樣設定:

*     -  nofile  65536
root  -  nofile  65536
  • 第一條適用除了 root 以外的 user
  • 第二條適用 root user

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱