我的实际限制是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
即使在运行sysctl -p
重新加载设置和/或重新启动Ubuntu 16.04和CentOS 6上也没有成功。
它始终保持为1024
。
这个问题是另一个问题的延伸。
对于Ubuntu 17.04。 看到这个解决方案
在Ubuntu 17.04之前:
我不知道为什么上面的设置不起作用,但看起来你可以通过使用/etc/security/limits.conf
文件得到相同的结果。
/etc/security/limits.conf
设置限制 sudo bash -c "echo '* - nofile 10240' >> /etc/security/limits.conf"
*
表示所有用户。 您可以用特定的用户名替换它。 -
意味着soft
和hard
的限制类型的执行 。 硬只能由超级用户修改。 软可以由非root用户修改,不能优于硬。 nofile
是打开文件的最大数量参数。 10240
是新的限制。 注销并重新登录sudo sysctl -p
似乎不足以重新加载。
你可以检查新的限制:
ulimit -n
在Ubuntu 16.04和CentOS 6上测试。受这个答案的启发。