gpt4 book ai didi

java - Spring Boot - 大量无效请求和套接字接受失败 java.io.IOException : Too many open files

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:25:24 25 4
gpt4 key购买 nike

我的机器运行着 Spring (Spring Boot 1.5.2.RELEASE) 应用程序。最近我在我的日志文件中收到了很多警告:

.w.s.m.s.DefaultHandlerExceptionResolver : Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: null; nested exception is java.net.SocketTimeoutException

我已经检查过 tcpdump 并且很多请求没有正文(空/空)或有不正确的正文,例如\00\00\00\00\00\00\00speed":"23.3","user_id":106312}

最大的问题是一段时间后我开始在我的应用程序中收到异常:

org.apache.tomcat.util.net.NioEndpoint   : Socket accept failed

java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:241)
at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:443)
at java.lang.Thread.run(Thread.java:745)

ulimit -n 说打开文件的限制设置为 65536 所以我认为它足够大。

我假设收到大量无效请求会导致 IOException,但为什么呢?我应该怎么做才能避免并修复它?

最佳答案

我猜你在 spring boot 中使用了 web socket。您最多只能在 65535 端口上监听,您不能在机器上超过这个值。您应该检查是否正确关闭了 socket 。

关于java - Spring Boot - 大量无效请求和套接字接受失败 java.io.IOException : Too many open files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53041876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com