linux neo4j加大内存,linux - 如何增加Ubuntu中Neo4j的最大文件打开限制(ulimit)? - Ubuntu问答...

问题描述

当前,ulimit -n显示为10000。我想将其增加到40000。我已经编辑了”/etc/sysctl.conf”并放入了fs.file-max=40000。我还编辑了/etc/security/limits.conf并更新了硬值和软值。但是ulimit仍然显示10000。完成所有这些更改后,我重新启动了笔记本电脑。我可以访问root密码。

usr_name@usr_name-lap:/etc$ /sbin/sysctl fs.file-max

fs.file-max = 500000

在/etc/security/limits.conf中添加了以下几行-

* soft nofile 40000

* hard nofile 40000

我还在/etc/pam.d/su中添加了以下代码-

session    required   pam_limits.so

我已经尝试了其他论坛上给出的所有可能方式,但是我可以达到10000的最大限制,否则就不能超过此上限。可能是什么问题?

我进行此更改是因为neo4j抛出最大打开文件限制达到错误。

最佳办法

我正在使用Debian,但此解决方案应该可以在Ubuntu上正常工作。您必须在neo4j-service脚本中添加一行。这是我所做的:

nano /etc/init.d/neo4j-service

Add « ulimit –n 40000 » just before the start-stop-daemon line in the do_start section

请注意,我正在使用2.0版企业版。希望这会帮助你。

次佳办法

您正在执行的操作不适用于root用户。也许您以root用户身份运行服务,因此看不到更改。

要增加root用户的ulimit,您应该用root替换*。 *不适用于root用户。休息和你一样。我将在这里re-quote。

将以下行添加到文件:/etc/security/limits.conf

root soft nofile 40000

root hard nofile 40000

然后在文件中添加以下行:/etc/pam.d/common-session

session required pam_limits.so

这将更新root用户的ulimit。如评论中所述,您甚至不必重启即可查看更改。

第三种办法

1)检查系统file-max限制:

$ cat /proc/sys/fs/file-max

如果限制低于您的期望值,请打开sysctl.conf并将此行添加到文件末尾:

fs.file-max = 65536

最后,应用sysctl限制:

$ sysctl -p

2)编辑/etc/security/limits.conf并添加下面提到的内容

* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

这些限制不适用于root用户,如果要更改root限制,则必须明确地执行以下操作:

root soft nofile 65535

root hard nofile 65535

...

3)重新启动系统或在/etc/pam.d/common-session的末尾添加以下行:

session required pam_limits.so

注销并再次登录。

4)检查软限制:

$ ulimit -a

和硬限制:

$ ulimit -Ha

....

open files (-n) 65535

第四种办法

我遇到了同样的问题,并通过向/etc/security/limits.d/90-somefile.conf添加条目来使其工作。请注意,为了查看限制,我必须从ssh会话中完全注销,然后重新登录。

我想为运行服务的特定用户设置限制,但是似乎我正在获得为登录用户设置的限制。这是一个示例,显示如何根据经过身份验证的用户而非有效用户设置ulimit:

$ sudo cat /etc/security/limits.d/90-nofiles.conf

loginuser soft nofile 10240

loginuser hard nofile 10240

root soft nofile 10241

root hard nofile 10241

serviceuser soft nofile 10242

serviceuser hard nofile 10242

$ whoami

loginuser

$ ulimit -n

10240

$ sudo -i

# ulimit -n

10240 # loginuser's limit

# su - serviceuser

$ ulimit -n

10240 # still loginuser's limit.

您可以使用*为所有用户指定增加额。如果我以登录用户的身份重新启动服务,并将ulimit -n添加到初始化脚本中,则会看到初始登录用户的限制已到位。我没有机会验证在系统引导过程中使用了哪些用户限制,或者没有确定我正在运行的服务(以start-stop-daemon开始)的实际无文件限制。

目前有2种方法在起作用:

在start-stop-daemon之前,在初始化脚本中添加ulimit调整。

安全文件中的通配符或更广泛的ulimit设置。

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值