我知道有一些JAVA_OPTS设置为远程调试Java程序.
它们是什么,它们是什么意思?
我有一个java应用程序,它曾经在java 7中运行良好.在使用以下配置迁移到java 8后,它开始挂起.
-Xms3g -Xmx3g -verbose:gc -XX:+UseG1GC -XX:G1ReservePercent=25 -XX:+PrintGCDateStamps
Run Code Online (Sandbox Code Playgroud)
我已经采取了jstack转储,它显示所有线程都处于BLOCKED状态.我也采取了jmap dump,它显示了以下信息.
有人可以帮我解决这个问题吗?
Attaching to process ID 2554, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.74-b02
using thread-local object allocation.
Garbage-First (G1) GC with 18 thread(s)
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 3221225472 (3072.0MB)
NewSize = 1363144 (1.2999954223632812MB)
MaxNewSize = 1932525568 (1843.0MB)
OldSize = 5452592 (5.1999969482421875MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize …Run Code Online (Sandbox Code Playgroud)