Ubuntu中ulimit无法生效的常见原因及解决方法如下:
/etc/security/limits.conf的设置。/etc/systemd/system.conf或/etc/systemd/user.conf,取消注释并设置DefaultLimitNOFILE等参数,例如:DefaultLimitNOFILE=2097152 保存后执行:sudo systemctl daemon-reexec /etc/systemd/system/sshd.service.d/override.conf),添加:[Service] LimitNOFILE=2097152 保存后重启服务:sudo systemctl daemon-reload sudo systemctl restart sshd sudo su或非登录shell启动时,可能不加载limits.conf。su -或直接SSH登录,确保加载PAM配置:su - username # 带“-”表示登录shell /etc/security/limits.conf或/etc/security/limits.d/下文件格式错误(如未指定用户名、使用无效符号)。root soft nofile 204800 root hard nofile 204800 /etc/pam.d/login和/etc/pam.d/sshd中是否包含session required pam_limits.so。ulimit -n和ulimit -Hn查看当前限制是否生效。参考来源: