发布于2026-07-24 阅读(0)
扫一扫,手机访问
Debian与其它Linux发行版(如CentOS、Ubuntu)在ulimit配置上的核心差异

聊到Linux系统的ulimit配置,很多人第一反应就是改/etc/security/limits.conf。但你知道吗?同样一条配置,在Debian、CentOS、Ubuntu上可能完全是两码事。下面这几个关键差异,值得你花几分钟捋清楚。
Debian的/etc/security/limits.conf文件里,*通配符是不认root用户的。换句话说,你写个* soft nofile 65535,普通用户生效,但root用户压根不买账。必须单独给root写一行,比如root soft nofile 65535。而CentOS这类发行版就省心多了,*通配符一视同仁,连root一起覆盖,不用额外折腾。
当系统改用systemd之后,ulimit的默认值就得靠/etc/systemd/system.conf(系统级)和/etc/systemd/user.conf(用户级)来定。比如想提升文件打开数,加一行DefaultLimitNOFILE=65535就行。Ubuntu虽然也用systemd,但有些版本(比如22.04+)会在/etc/systemd/system.conf.d/下塞自定义配置文件,而且默认值更偏向桌面用户,文件打开数给得比较大方。
Debian的默认ulimit值出了名的保守——nofile软限制1024、硬限制8192,摆明了是保稳定、保安全。Ubuntu作为Debian的衍生版,默认值稍微放开了一点:软限制还是1024,但硬限制提到了4096,更符合桌面用户多任务的需求。一个求稳,一个求实用,出发点就不一样。
Debian上想让limits.conf生效,必须在/etc/pam.d/common-session和/etc/pam.d/common-session-noninteractive里手动加上session required pam_limits.so。Ubuntu虽然也依赖PAM,但不少版本(比如20.04+)默认就已经配好了,省得你再去翻文件。
Debian在某些systemd版本里有个坑:就算你把DefaultLimitNOFILE设成infinity,1号进程和它的子进程实际能打开的文件数上限依然只有65536,而不是你期待的fs.nr_open默认值1048576。CentOS、Ubuntu虽然也可能撞上这个bug,但人家修复补丁推送得比Debian快得多,体验上更省心。
对于非交互式登录(比如ssh、cron),Debian需要额外在/etc/pam.d/common-session-noninteractive里加上pam_limits.so,否则ulimit设置不会生效。Ubuntu的部分版本(比如18.04+)则把这条配置直接合并到了/etc/pam.d/sshd或/etc/pam.d/cron里,省去了中间环节,配置流程更简洁。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8