|
本帖最后由 mengbin 于 2020-10-16 13:21 编辑
帆软报表使用了hsql文件数据库存储日志文件,在某些环境下会分配大对象,使得JVM频繁GC,从而导致CPU占用率很高。类似线程日志:
"Timer-31" id=262 idx=0x3fc tid=21468 prio=5 alive, native_blocked
at jrockit/vm/Allocator.allocLargeObjectOrArray(JIZ)Ljava/lang/Object;(Native Method)
at jrockit/vm/Allocator.allocObjectOrArray(Allocator.java:349)[optimized]
at com/fr/third/org/hsqldb/lib/StringConverter.readUTF(StringConverter.java:405)[inlined]
at com/fr/third/org/hsqldb/rowio/RowInputBinary.readString(RowInputBinary.java:110)[inlined]
at com/fr/third/org/hsqldb/rowio/RowInputBinary.readChar(RowInputBinary.java:127)[optimized]
at com/fr/third/org/hsqldb/rowio/RowInputBase.readData(RowInputBase.java:166)[optimized]
at com/fr/third/org/hsqldb/CachedRow.<init>(CachedRow.java:187)[inlined]
at com/fr/third/org/hsqldb/Table$RowStore.get(Table.java:3495)[optimized]
at com/fr/third/org/hsqldb/persist/DataFileCache.get(DataFileCache.java:576)[optimized]
解决方案是替换文件数据库,可以参考以下方案:链接: https://pan.baidu.com/s/1bM9frtcpYBEEwsQVw91vrg 提取码: 9ycv
|
|