我们有spring spring cassandra的spring boot应用程序,每2到3天由于OOM导致应用程序崩溃,我们需要重新启动应用程序才能再次运行。
我们已经进行了堆转储,当我们运行泄漏嫌疑人时,我们在下面看到。
31个" io.netty.buffer.PoolThreadCache"的实例,由 " org.apache.catalina.loader.WebappClassLoader @ 0xe03255d0"占据 30,818,712(27.72%)字节。
" com.datastax.driver.core.Cluster $ Manager"的2个实例,由 " org.apache.catalina.loader.WebappClassLoader @ 0xe03255d0"占据 20,144,744(18.12%)字节
我们怀疑,可能是由于集群NIO线程,如果有人遇到同样的问题,请告诉我。
答案 0 :(得分:0)
关于您所分享的基本信息,在这种情况下表面上看似嫌疑人似乎是与“io.netty.buffer.PoolThreadCache”相关的低效率。
由于在PoolThreadCache(可能正在耗尽堆)中生成过多的线程,或者由于PoolThreadCache无法回收空闲线程的一些低效率,可能会出现OOM。
您需要使用 jmap 命令检查内存利用率进行调试。