在 Debian 里,ulimit 是 shell 级别的限制,不是系统全局“一个开关”能直接重置的。所谓“重置”,通常分几种情况,下面按常见场景说明。
如果你只是当前终端改坏了,或者想恢复默认值:
ulimit -a # 查看当前所有限制
重新设置(示例):
ulimit -n 1024 # 文件描述符
ulimit -u 4096 # 用户进程数
ulimit -c 0 # core 文件大小
退出当前 shell 再登录即可完全恢复默认:
exit
/etc/security/limits.conf 重置(永久配置)这是 用户/组级别 的正式配置方式。
sudo nano /etc/security/limits.conf
示例(重置为系统默认):
* soft nofile 1024
* hard nofile 1024
或注释掉你之前加的行:
# * soft nofile 65535
⚠️ 注意:
如果你发现:
ulimit 改了那是因为 systemd 覆盖了 ulimit。
systemctl show nginx | grep Limit
编辑 service 文件:
sudo systemctl edit nginx
内容:
[Service]
LimitNOFILE=1024
然后:
sudo systemctl daemon-reload
sudo systemctl restart nginx
ulimit -Hn unlimited
ulimit -Sn 1024
但很多硬限制 只能降不能升(尤其 root 之外)。
ulimit -a
cat /proc/$$/limits
/etc/security/limits.confLimit*如果你能说清楚:
我可以给你更精确的命令。