这个问题是无意中发现的:
有个新人不太懂数据处理,一口气把数据库 4w 多条数据都拿了出来,然后转换成了 json 字符串,调用 log 打印。
它测试是在 IDEA 里执行调试模式。打印是立刻就打印出来了——可以看到打印结果,以及数组 json 最后的结尾括号]。这应该说明 logback 至少打印 api 执行成功。
但是会在这里卡住,是程序卡住,并非 IDEA 卡住了,IDEA 还能做各种操作,然而程序就卡在这里,它也不崩溃,一开始我们以为 OOM 了,但是没有。反正就卡在这。然后等待约 10 分钟的时候。程序又继续若无其事的往下走了。
这个现象我们现在还没想明白咋回事,高度怀疑是触发 full GC 了,但是 full GC 需要接近 10 分钟吗?我们这其实就是个小程序,平时跑起来就几百 M 内存的那种。
我们该如何分析这个问题?
补充:后来我们尝试把 XMX 扩大到 8G ,这个现象没有任何缓解。
有个新人不太懂数据处理,一口气把数据库 4w 多条数据都拿了出来,然后转换成了 json 字符串,调用 log 打印。
它测试是在 IDEA 里执行调试模式。打印是立刻就打印出来了——可以看到打印结果,以及数组 json 最后的结尾括号]。这应该说明 logback 至少打印 api 执行成功。
但是会在这里卡住,是程序卡住,并非 IDEA 卡住了,IDEA 还能做各种操作,然而程序就卡在这里,它也不崩溃,一开始我们以为 OOM 了,但是没有。反正就卡在这。然后等待约 10 分钟的时候。程序又继续若无其事的往下走了。
这个现象我们现在还没想明白咋回事,高度怀疑是触发 full GC 了,但是 full GC 需要接近 10 分钟吗?我们这其实就是个小程序,平时跑起来就几百 M 内存的那种。
我们该如何分析这个问题?
补充:后来我们尝试把 XMX 扩大到 8G ,这个现象没有任何缓解。