JVM 常用配置参数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ocp114/article/details/82790476

-verbose:gc 打印 GC 的简要信息

-XX:+printGC 打印 GC 的简要信息

[GC (Allocation Failure) 6036K->1672K(19968K), 0.0012595 secs]

-XX:+PrintGCDetails 打印 GC 详细信息

Heap
名称               占用总内存    已用内存        内存地址最低边界          内存地址当前边界       内存地址最高边界
PSYoungGen total 6656K, used 5806K [0x00000000ff900000, 0x0000000100000000, 0x0000000100000000)
      eden       space 6144K, 86% used [0x00000000ff900000,0x00000000ffe2d900,0x00000000fff00000)
      from       space 512K, 98% used [0x00000000fff00000,0x00000000fff7e030,0x00000000fff80000)
      to       space 512K, 0% used [0x00000000fff80000,0x00000000fff80000,0x0000000100000000)
ParOldGen total 13312K, used 1132K [0x00000000fec00000, 0x00000000ff900000, 0x00000000ff900000)
      object       space 13312K, 8% used [0x00000000fec00000,0x00000000fed1b020,0x00000000ff900000)
Metaspace used 2673K, capacity 4486K, committed 4864K, reserved 1056768K
      class       space used 293K, capacity 386K, committed 512K, reserved 1048576K

-XX:+PrintGCTimeStamps 并不是打印 GC 发生的时间戳,而是 JVM 启动时间为起点的相对时间,例如下面的 0.133

0.133: [GC (Allocation Failure) 6036K->1632K(19968K), 0.0012476 secs]

-XX:+PrintGCDateStamps 打印 GC 发生时的系统时间

2018-09-20T17:33:20.245+0800: [GC (Allocation Failure) 6036K-1648K(19968K), 0.0011757 secs]

-Xloggc:log/gc.log 指定输出 GC 日志文件路径和名称
-XX:+PrintHeapAtGC 每次发生 GC 都打印堆信息

{Heap before GC invocations=1 (full 0):
PSYoungGen total 6656K, used 6036K [0x00000000ff900000, 0x0000000100000000, 0x0000000100000000)
eden space 6144K, 98% used [0x00000000ff900000,0x00000000ffee53c8,0x00000000fff00000)
from space 512K, 0% used [0x00000000fff80000,0x00000000fff80000,0x0000000100000000)
to space 512K, 0% used [0x00000000fff00000,0x00000000fff00000,0x00000000fff80000)
ParOldGen total 13312K, used 0K [0x00000000fec00000, 0x00000000ff900000, 0x00000000ff900000)
object space 13312K, 0% used [0x00000000fec00000,0x00000000fec00000,0x00000000ff900000)
Metaspace used 2666K, capacity 4486K, committed 4864K, reserved 1056768K
class space used 292K, capacity 386K, committed 512K, reserved 1048576K
Heap after GC invocations=1 (full 0):
PSYoungGen total 6656K, used 488K [0x00000000ff900000, 0x0000000100000000, 0x0000000100000000)
eden space 6144K, 0% used [0x00000000ff900000,0x00000000ff900000,0x00000000fff00000)
from space 512K, 95% used [0x00000000fff00000,0x00000000fff7a020,0x00000000fff80000)
to space 512K, 0% used [0x00000000fff80000,0x00000000fff80000,0x0000000100000000)
ParOldGen total 13312K, used 1128K [0x00000000fec00000, 0x00000000ff900000, 0x00000000ff900000)
object space 13312K, 8% used [0x00000000fec00000,0x00000000fed1a010,0x00000000ff900000)
Metaspace used 2666K, capacity 4486K, committed 4864K, reserved 1056768K
class space used 292K, capacity 386K, committed 512K, reserved 1048576K
}

-XX:+TraceClassLoading 监控类的加载

[Opened G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.Object from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.io.Serializable from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.Comparable from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.CharSequence from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.String from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.reflect.Type from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.Class from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.Cloneable from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.ClassLoader from G:\Java\jre1.8.0_181\lib\rt.jar]
[Loaded java.lang.System from G:\Java\jre1.8.0_181\lib\rt.jar]

-XX:+PrintClassHistogram 在控制台按下 Ctrl + Break 后打印类信息,然而我是打印不出来了ε=( o`ω′)ノ,献上网络截图
在这里插入图片描述
-Xmx:512m 指定最大堆空间为512m
-Xms:5m 指定最小堆空间为5m,在内存不足时会自动扩容,直至达到最大堆空间
-Xmn:1m 设置新生代大小
-XX:NewRatio 指定 新生代(PSYoungGen)和 老年代(ParOldGen)的比值 PSYoungGen:ParOldGen = 1:4
-XX:SurvivorRatio 设置两个 Survivor(幸存区,上面的 from space 和 to space )和 eden 的比值,Survivor:eden = 2:8,即一个 Survivor 占 PSYoungGen 的 1/10
-XX:+HeapDumpOnOutOfMemoryError OOM 时导出堆信息到文件
-XX:+HeapDumpPath OOM 时导出堆信息到文件的路径

-XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpPath=d:/a.dump

-XX:OnOutOfMemoryError=d:/printstack.bat %p 在发生 OOM 时执行 printstack.bat 这个脚本(%p 指当前进程 ID)
-XX:PermSize=128m 设置永久代初始空间为128m
-XX:MaxPermSize=128m 设置永久代最大空间为128m
-Xss: 栈空间大小,决定栈帧深度

猜你喜欢

转载自blog.csdn.net/ocp114/article/details/82790476