JBoss EAP服务器是否正常?

问题描述 投票:0回答:2

堆使用率(mb)

实际指标最高:8126用过的:2526(31%)承诺:8126在里面:8192非堆使用情况(mb)实际指标最高:2144用过的:200(9%)承诺:326在里面:23线程使用需要帮忙?实际指标生活:585守护进程:557(95%)

我已经使用以下配置设置了服务器:

set "JAVA_OPTS=-Xms8g -Xmx8g -XX:MaxPermSize=2g -XX:+UseParallelGC"
set "JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true" 
set "JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.system.pkgs=org.jboss.byteman"

我的问题是服务器有时会挂起,我需要手动重新启动它。服务器启动时,线程使用率始终高于90%。正常吗我应该怎么做才能避免这种问题,其原因是什么?

multithreading jboss jboss-eap-6
2个回答
0
投票

尝试禁用显式GC收集并运行自己的GC。这样,将清除不需要的垃圾和未使用的垃圾。像这样的东西:(带有Web应用程序的Jboss + 8Gb RAM服务器的示例配置)

JAVA_OPTS="-server -Xms7800m -Xmx7800m -XX:NewSize=5632m -XX:MaxNewSize=5632m -XX:+UseParNewGC -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=50 -XX:+UseCMSInitiatingOccupancyOnly -XX:ConcGCThreads=4 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/mydirectory/project/projectgclog-$(date +%Y_%m_%d-%H_%M).log -XX:+DisableExplicitGC -Djava.net.preferIPv4Stack=true"

通过这种方式,我的服务器会定期清除不需要的垃圾,并使服务器正常运行。希望这会有所帮助。


0
投票
-XX:MaxPermSize=2g

非常高

-Xms8g -Xmx8g -XX:+UseParallelGC"

这将接受8秒钟的完整GC暂停。

Thread Usage always above 90% when the server started

这是什么意思?

然后,您需要弄清楚“挂在自己身上”会发生什么。发生这种情况时,请检查Java进程的CPU使用率。当几乎没有使用时,可能会导致死锁,或者应用程序可能会等待其他事件。线程转储将在这里为您提供帮助。较高时,可能与Java或GC相关。看一下gc日志并运行像async-profiler这样的事件探查器。还可以查看其他系统活动,例如交换。

© www.soinside.com 2019 - 2024. All rights reserved.