首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Play Framework在2-3天后停止响应

Play Framework在2-3天后停止响应
EN

Stack Overflow用户
提问于 2017-09-14 19:28:14
回答 1查看 244关注 0票数 2

我正在使用play框架,它在2-3天后停止响应,当我重新启动服务器时,一切都正常。

请告诉我我做错了什么。谢谢

堆栈跟踪:

代码语言:javascript
复制
Caused by: io.netty.channel.ChannelException: Failed to open a socket.
        at io.netty.channel.socket.nio.NioSocketChannel.newSocket(NioSocketChannel.java:62)
        at io.netty.channel.socket.nio.NioSocketChannel.<init>(NioSocketChannel.java:72)
        at sun.reflect.GeneratedConstructorAccessor42.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.lang.Class.newInstance(Class.java:442)
        at io.netty.bootstrap.AbstractBootstrap$BootstrapChannelFactory.newChannel(AbstractBootstrap.java:454)
        ... 64 common frames omitted
Caused by: java.net.SocketException: Too many open files
        at sun.nio.ch.Net.socket0(Native Method)
        at sun.nio.ch.Net.socket(Net.java:411)
        at sun.nio.ch.Net.socket(Net.java:404)
        at sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:105)
        at sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:60)
        at io.netty.channel.socket.nio.NioSocketChannel.newSocket(NioSocketChannel.java:60)
        ... 70 common frames omitted
EN

回答 1

Stack Overflow用户

发布于 2017-09-14 20:18:59

看起来您正在为您的用户命中ulimit。这可能是以下部分或全部的函数:

  • 您的用户具有默认ulimit (可能为256或1024,具体取决于操作系统)
  • 您的游戏应用程序上的活动量/类型

您可以通过以下方式确定哪个打开的文件处理您的播放应用程序:

  • 在*nix OS上运行lsof -p PID
  • 在something

上运行类似于Filemon (来自sysinternals)的东西

你可能会看到Play应用程序的类路径上的所有内容,以及应用程序打开的任何文件,例如日志文件、配置文件。此外,如果您在*nix OS上运行,则打开的套接字也将消耗文件句柄,因此您可能会看到与数据库连接池相关的打开的文件句柄,或者您的Play应用程序通过套接字与之通信的任何内容。

一旦你了解了你的应用程序正在做什么,w.r.t打开文件句柄,你就可以考虑下一步要做什么了。可能是以下几种之一:

shell更改您的应用程序,使其打开较少的文件句柄(如果在*nix上,则使用较少的套接字connections)

  • Change您的应用程序,以便在完成them

  • Increase时关闭打开的文件句柄,通过调用ulimit -n <some number>来增加当前
  • 允许您的用户打开的文件数。您选择的数量不能超过主机上配置的硬限制。您还可以永久更改ulimit,更多详细信息here.
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46217886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档