商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Debian ulimit与其他Linux发行版的差异

Debian ulimit与其他Linux发行版的差异

  发布于2026-07-24 阅读(0)

扫一扫,手机访问

Debian与其它Linux发行版(如CentOS、Ubuntu)在ulimit配置上的核心差异

Debian ulimit与其他Linux发行版的差异

聊到Linux系统的ulimit配置,很多人第一反应就是改/etc/security/limits.conf。但你知道吗?同样一条配置,在Debian、CentOS、Ubuntu上可能完全是两码事。下面这几个关键差异,值得你花几分钟捋清楚。

1. 配置文件对root用户的匹配规则

Debian的/etc/security/limits.conf文件里,*通配符是不认root用户的。换句话说,你写个* soft nofile 65535,普通用户生效,但root用户压根不买账。必须单独给root写一行,比如root soft nofile 65535。而CentOS这类发行版就省心多了,*通配符一视同仁,连root一起覆盖,不用额外折腾。

2. systemd配置文件的路径与作用

当系统改用systemd之后,ulimit的默认值就得靠/etc/systemd/system.conf(系统级)和/etc/systemd/user.conf(用户级)来定。比如想提升文件打开数,加一行DefaultLimitNOFILE=65535就行。Ubuntu虽然也用systemd,但有些版本(比如22.04+)会在/etc/systemd/system.conf.d/下塞自定义配置文件,而且默认值更偏向桌面用户,文件打开数给得比较大方。

3. 默认值保守性

Debian的默认ulimit值出了名的保守——nofile软限制1024、硬限制8192,摆明了是保稳定、保安全。Ubuntu作为Debian的衍生版,默认值稍微放开了一点:软限制还是1024,但硬限制提到了4096,更符合桌面用户多任务的需求。一个求稳,一个求实用,出发点就不一样。

4. PAM模块的应用方式

Debian上想让limits.conf生效,必须在/etc/pam.d/common-session/etc/pam.d/common-session-noninteractive里手动加上session required pam_limits.so。Ubuntu虽然也依赖PAM,但不少版本(比如20.04+)默认就已经配好了,省得你再去翻文件。

5. 特定于发行版的bug影响

Debian在某些systemd版本里有个坑:就算你把DefaultLimitNOFILE设成infinity,1号进程和它的子进程实际能打开的文件数上限依然只有65536,而不是你期待的fs.nr_open默认值1048576。CentOS、Ubuntu虽然也可能撞上这个bug,但人家修复补丁推送得比Debian快得多,体验上更省心。

6. 非交互式会话的配置

对于非交互式登录(比如ssh、cron),Debian需要额外在/etc/pam.d/common-session-noninteractive里加上pam_limits.so,否则ulimit设置不会生效。Ubuntu的部分版本(比如18.04+)则把这条配置直接合并到了/etc/pam.d/sshd/etc/pam.d/cron里,省去了中间环节,配置流程更简洁。

本文转载于:https://www.yisu.com/ask/43663059.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注