我使用Java 8在tomcat 7上运行一个Web服务器,服务器执行很多的IO操作 - 主要是数据库和HTTP调用,每个事务都消耗大量的内存,它服务大约100在给定时间的同步。 一段时间后,大约10,000个请求,但不是特别,服务器启动挂起,没有响应或响应空500响应。 我在日志中看到了一些我目前正在尝试解决的错误,但是有什么问题我无法弄清楚最终会导致什么 - catalina日志文件没有显示堆空间异常,而且我带了一些内存转储它似乎总是有成长和垃圾收集的空间,所以我认为这不是内存问题。然后我进行了线程转储,我总是在WAITING,TIMED_WAITING,PARKING等中看到几十个线程......从我读到的内容看来,似乎这些线程可以处理传入的工作。 值得一提的是,所有工作都是异步完成的,没有阻塞操作,似乎所有线程池都可用。更重要的是,我停止了到服务器的流量并让它休息一段时间,即使这样,问题也不会消失。所以我认为它也不是一个线程问题。 所以...我的问题是: 也许这是一个记忆问题?它可以是一个线程CPU问题吗?它可以是其他什么吗?