Java "ajp-9009-AsyncTimeout"java.lang.OutOfMemoryError : Java heap space Errors 错误

标签 java spring hibernate jakarta-ee tomcat

我有两个 Web 项目在 Tomcat 7.0.5 中运行。 第一个项目托管在第二个项目中使用的服务(Web 服务)。 这两个项目都有单独的数据库,但在同一个 Mysql 服务器实例上。 使用的技术有Spring、Hibernate。数据库是Mysql。服务器是 Apache Tomcat 7.0.5 最初一切正常。 随着更多记录(1-20 万)被添加到数据库中,它开始在线程“ajp-9009-AsyncTimeout”java.lang.OutOfMemoryError 中给出 OutOfMemoryError 异常和异常:Java 堆空间错误。 我用谷歌搜索错误,根据解释的解决方案我更新了 Catalina.bat 文件如下

set JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"

set CATALINA_OPTS=-server -Xms256m -Xmx1024m

但对我来说没有任何效果。 如何摆脱上述错误..? 我做错了什么..? 我还有一个查询,Web 服务是否返回数十万记录..?

最佳答案

如果没有具体信息,就很难确定您的问题。

我会看看像 YourKit 这样的工具来分析你的应用程序(你可以获得 30 天的免费试用,ISTR)和 VisualVM 来深入了解你的 JVM。

但是,如果您的网络服务获取 100,000 条记录,将它们呈现为 XML/JSON 并在一个请求/响应中将它们发送出去,那么需要从数据库、编码和发送。我会调查该设计,看看这是否是根本问题。

关于Java "ajp-9009-AsyncTimeout"java.lang.OutOfMemoryError : Java heap space Errors 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18331368/

相关文章:

java - 如何在 java 中列出一个 tar 文件的所有条目?

java - 如果引用的静态字段是最终的,为什么不执行静态初始值设定项

java - @OneToOne 和 @JoinColumn 只保存 UUID 而不是整个对象

java - 无法通过@PathVariable绑定(bind)到Mono<String>?

java - Camel Context cvc 2.4.2错误找不到camelContext

java - Spring - 它是什么以及我为什么要使用它?

java - Hibernate EntityListeners - PrePersist 方法在持久调用之前修改模型 - 如果持久调用失败怎么办?

java - map 的 JPA map

JavaFx 可运行 JAR 导出不起作用

java - 为什么 JPA 实体选择结果在每个偶数查询上都会发生变化?