最近在处理一批日志,然后 macbook 下搭建了个 es,发现日志量很大的情况下启动就会爆“Too many open files in system”...

2017-03-28 17:13:47 +08:00
 Braid
最近在处理一批日志,然后 macbook 下搭建了个 es ,发现日志量很大的情况下启动就会爆“ Too many open files in system ”,网上查了很多方法都没得到解决。我的是 2015 款的 macbookpro ( 8G 内存+ 256GB ),目前我尝试的方法是 ulimit -Sn 10240

求除了换电脑外的解决方法。。。
3586 次点击
所在节点    Linux
13 条回复
Braid
2017-03-28 17:23:31 +08:00
You can increase the limits (at your own risk) with:

sysctl -w kern.maxfiles=20480 (or whatever number you choose)
sysctl -w kern.maxfilesperproc=18000 (or whatever number you choose)

这个貌似可以临时解决。
royantar
2017-03-28 18:50:04 +08:00
10240 还是小吧, es 官方稳定建议 65536 或更高。

https://www.elastic.co/guide/en/elasticsearch/reference/5.2/file-descriptors.html
leopku
2017-03-28 22:33:33 +08:00
在 vagrant 或 docker 里跑 es ,然后把 vagrant 或 es 的 limit 调到最大
kmahyyg
2017-03-28 23:36:06 +08:00
ulimit -n 51200 这是最低
janxin
2017-03-28 23:43:07 +08:00
你换个电脑也是这问题,这个是系统的最大打开句柄上限默认设置太低,改大点就好了,方法上面都提供过了。

Linux 服务器高并发下如果不改配置,一样也会遇到这问题 23333
wweir
2017-03-29 06:58:48 +08:00
直接上 1048576 这个上限
Braid
2017-03-29 09:21:07 +08:00
@kmahyyg macbook 我那个电脑 ulimit -n 10240 就是极限了。。。之后就会报错
KIDJourney
2017-03-29 09:36:30 +08:00
@Braid sudo
eimsteim
2017-03-29 09:37:39 +08:00
弱弱问一句, es 是什么?
Braid
2017-03-29 10:02:18 +08:00
@KIDJourney 试过 sudo 了
Braid
2017-03-29 10:03:09 +08:00
@wweir 这可以,我保险设置到了:

sysctl -w kern.maxfiles=81920
sysctl -w kern.maxfilesperproc=40960
Immortal
2017-03-29 11:36:06 +08:00
这个 linux 下不就是
ulimit -n 65535
zhyt1985
2017-03-29 14:19:40 +08:00
@eimsteim ElasticSearch

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/350954

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX