我的实际限制为1024
:
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 95979
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
我试过了:
sysctl -w fs.file-max=100000
并附加到/etc/sysctl.conf
:
fs.file-max = 100000
即使在Ubuntu 16.04和CentOS 6上运行sysctl -p
重新加载设置和/或重新启动之后,也没有成功。
它始终设置为1024
。
此问题是other question。
的扩展答案 0 :(得分:12)
对于Ubuntu 17.04。请参阅this solution。
在Ubuntu 17.04之前:
我不知道上述设置为什么不起作用,但似乎您可以使用/etc/security/limits.conf
file获得相同的结果。
/etc/security/limits.conf
sudo bash -c "echo '* - nofile 10240' >> /etc/security/limits.conf"
*
表示所有用户。您可以使用特定的用户名替换它。-
表示type of limit to be enforced的soft
和hard
。硬件只能由超级用户修改。 Soft可以由非root用户修改,并且不能优于hard。nofile
是最大打开文件数参数。10240
是新限制。退出并重新登录。sudo sysctl -p
似乎不足以重新加载。
您可以使用以下方法检查新限制:
ulimit -n
在Ubuntu 16.04和CentOS 6上测试。灵感来自answer。
答案 1 :(得分:3)
对于MacOs 10.14.6及更高版本,如果需要暂时提高限制,则可以使用以下方法:
检查您当前的限制:
ulimit -n
我的年龄是256
更改它:
ulimit -n 1024
在同一标签中再次检查:
ulimit -n
我的现在显示1024。
更改是立即的,无需注销并再次登录,也无需打开新的“终端”选项卡。这解决了我的特殊问题。
不幸的是,更改是暂时的。稍后,当您打开一个新的终端窗口时,您会回到原来的值和问题上。