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

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

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

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

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

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

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

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

实际这里有个坑。get

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

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

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

相关文章
相关标签/搜索