我是JBOSS的新手,我有一个JVM内存问题(在JBoss下运行),我想知道你是否可以提供帮助?
运行Teiid的JBOSS服务器在查询大型表(1.3列,45列)时内存不足。
以下是一些细节:
Jboss EAP 6.4 with Teiid 8.7.1
It's running on a dedicated AWS Windows Server instance with 244GB ram, 32 processors
我有如下的JVM参数:
-server -d64 -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+PrintGCDetails -Xms200g -Xmx200g -XX:NewSize=8g -XX:MaxNewSize=8g -XX:SurvivorRatio=8 -XX:MaxDirectMemorySize=10g -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseLargePages
Teiid Buffer Manager设置:
allow-env-function" => false,
"async-thread-pool" => "teiid-async",
"authorization-validator-module" => undefined,
"buffer-service-encrypt-files" => false,
"buffer-service-inline-lobs" => true,
"buffer-service-max-buffer-space" => 500000L,
"buffer-service-max-file-size" => 150000L,
"buffer-service-max-open-files" => 64,
"buffer-service-max-processing-kb" => -1,
"buffer-service-max-reserve-kb" => -1,
"buffer-service-max-storage-object-size" => 16777216,
"buffer-service-memory-buffer-off-heap" => true,
"buffer-service-memory-buffer-space" => -1,
"buffer-service-processor-batch-size" => 30000,
"buffer-service-use-disk" => true,
"detect-change-events" => true,
"distributed-cache-jgroups-stack" => undefined,
"exception-on-max-source-rows" => true,
"lob-chunk-size-in-kb" => 100,
"max-active-plans" => 20,
"max-row-fetch-size" => 20480,
"max-source-rows-allowed" => -1,
"max-threads" => 64,
"policy-decider-module" => "org.jboss.teiid",
"preparedplan-cache-enable" => true,
"preparedplan-cache-infinispan-container" => "teiid-cache",
"preparedplan-cache-name" => "preparedplan",
"query-threshold-in-seconds" => 600,
"query-timeout" => 0,
"resultset-cache-enable" => true,
"resultset-cache-infinispan-container" => "teiid-cache",
"resultset-cache-max-staleness" => 60,
"resultset-cache-name" => "resultset",
"thread-count-for-source-concurrency" => 0,
"time-slice-in-milliseconds" => 2000,
"workmanager" => "default",
正如您所看到的那样,我已经将堆大小分配给200gb,但每次都会将内存最大化,并且服务器只会挂起" Full GC(Ergonmics)&#34 ;错误。以下是日志示例:
[GC (Allocation Failure) [PSYoungGen: 7549952K->838656K(7549952K)] 176791593K->176710678K(208876544K), 64.7327072 secs] [Times: user=1476.97 sys=9.75, real=64.73 secs]
GC (Allocation Failure) [PSYoungGen: 7549952K->838656K(7549952K)] 183421974K->183391750K(208876544K), 68.1115075 secs] [Times: user=1554.99 sys=9.14, real=68.12 secs]
[GC (Allocation Failure) [PSYoungGen: 7549952K->838656K(7549952K)] 190103046K->190019046K(208876544K), 70.2219754 secs] [Times: user=1603.11 sys=9.98, real=70.23 secs]
[GC (Allocation Failure) [PSYoungGen: 7549952K->838656K(7549952K)] 196730342K->196631886K(208876544K), 87.7628514 secs] [Times: user=2007.72 sys=8.92, real=87.76 secs]
[Full GC (Ergonomics) [PSYoungGen: 838656K->0K(7549952K)] [ParOldGen: 195793230K->193496415K(201326592K)] 196631886K->193496415K(208876544K), [Metaspace: 130959K->130959K(139264K)], 429.0076056 secs] [Times: user=1582.83 sys=5.59, real=429.00 secs]
[GC (Allocation Failure) [PSYoungGen: 6711296K->838656K(7549952K)] 200207711K->200111591K(208876544K), 49.8578163 secs] [Times: user=1141.05 sys=3.48, real=49.86 secs]
[Full GC (Ergonomics) [PSYoungGen: 838656K->0K(7549952K)] [ParOldGen: 199272935K->200062941K(201326592K)] 200111591K->200062941K(208876544K), [Metaspace: 130999K->130999K(139264K)], 383.1849674 secs] [Times: user=570.09 sys=7.91, real=383.17 secs]
Full GC (Ergonomics) [PSYoungGen: 6711296K->5262703K(7549952K)] [ParOldGen: 200062941K->201326365K(201326592K)] 206774237K->206589069K(208876544K), [Metaspace: 131005K->131005K(139264K)], 573.4518437 secs] [Times: user=608.89 sys=15.22, real=573.45 secs]
答案 0 :(得分:0)
没关系。刚发现问题是由为数据源设置的JDBC驱动程序不正确引起的。感谢。