我遇到了与错误相同的问题这和这问题(我阅读并理解了这两个问题),消息是:
$ ulimit -n 20000
ulimit: bad limit: Operation not permitted
我遇到了这个问题自由BSD 8.3从 7.3 升级后,认为这可能与升级有关。
我在以 root 身份运行该命令时也遇到了各种各样的问题,并且只能以标准用户身份运行它——无论如何,这都是我想要的。
问题是对于 FreeBSD,该命令是limit
,而不是ulimit
。
当我以普通用户身份运行时:
%limits -n 20000
我得到了我想要的确切结果,即将打开文件限制从 11095 增加到 20000,或者我是这么想的。
输出是:
Resource limits (current):
openfiles 20000
然而,当我再次运行 limit 命令时,它又limit
显示为 11095。
如何更改 FreeBSD 8.3 机器上的硬/软限制?
答案1
sysctl 设置了总体限制kern.maxfilesperproc
。
要更改此设置,请编辑/etc/sysctl.conf
以包含以下内容:
kern.maxfilesperproc=yourchosenvalue
然后做service sysctl restart
您可能需要重新登录或重新启动才能看到新的最大值。