linux – 无法使用sysctl更改每个进程的最大打开文件数

linux – 无法使用sysctl更改每个进程的最大打开文件数,第1张

概述我的实际限制是1024: $ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size (blocks, -f) unlimitedpend 我的实际限制是1024:

$ulimit -acore file size          (blocks,-c) 0data seg size           (kbytes,-d) unlimitedscheduling priority             (-e) 0file size               (blocks,-f) unlimitedpending signals                 (-i) 95979max locked memory       (kbytes,-l) 64max memory size         (kbytes,-m) unlimitedopen files                      (-n) 1024pipe size            (512 bytes,-p) 8POSIX message queues     (bytes,-q) 819200real-time priority              (-r) 0stack size              (kbytes,-s) 10240cpu time               (seconds,-t) unlimitedmax user processes              (-u) 1024virtual memory          (kbytes,-v) unlimitedfile 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的延伸.

解决方法 对于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可以由非root用户修改,并且不能优于hard.
> nofile是最大打开文件数参数.
> 10240是新限制.

刷新

注销并重新登录.sudo sysctl -p似乎不足以重新加载.

您可以通过以下方式检查新限制:

ulimit -n

在Ubuntu 16.04和CentOS 6上测试.灵感来自于answer.

总结

以上是内存溢出为你收集整理的linux – 无法使用sysctl更改每个进程的最大打开文件数全部内容,希望文章能够帮你解决linux – 无法使用sysctl更改每个进程的最大打开文件数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1028118.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存