关于图形界面下Ubuntu的max file open 值

五迷三道 提交于 2019-12-06 03:46:14

正常在Linux下,对打开的文件描述符的数量限制设置有两个地方:

  • sudo sysctl -a | grep file-max 是全局最多可打开文件描述符设置
  • sudo ulimit -n 是单进程最多可打开的文件描述符设置

全局的修改比较容易,只需要在/etc/sysctl.conf中添加fs.file-max并指定值即可,如fs.file-max = 6553500.

单进程就比较坑了,我当前用的是Ubuntu 18.04,若仅是Server版本Ubuntu或是用SSH登陆的情况下,只需在/etc/security/limits.conf添加如下:

*       soft    nofile  1024000
*       hard    nofile  1024000
# 16.04下用 * 会无效,需要指定用户如:
root       soft    nofile  1024000
root       hard    nofile  1024000

不过种方式在图形界面下,这并不起效, 除非是 SSH 登录来的.

根据systemd-system.confmanpage说明,你只需在/etc/systemd/system.conf/etc/systemd/user.conf中设置DefaultLimitNOFILE=的值,或在 /etc/systemd/system.conf.d/etc/systemd/user.conf.d/目录下新建一个 conf 文件,并在其中指定DefaultLimitNOFILE=的值即可。

实际这里有个坑。

如果仅在/etc/systemd/user.conf文件或者/etc/systemd/user.conf.d目录下指定的DefaultLimitNOFILE=值,那么它最大依旧只能是4096.

真正要改的是/etc/systemd/system.conf文件或/etc/systemd/system.conf.d/目录下的 conf 文件,设定DefaultLimitNOFILE=的值即可。

DefaultLimitNOFILE=1024000,然后执行systemctl daemon-reexec注销再重新登陆即生效,或者直接重启也行.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!