JVM 常用配置参数

-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:SurvivorRatio=65536 -XX:MaxTenuringThreshold=0 的时候,两个幸存区就等于去掉了
-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: 栈空间大小,决定栈帧深度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值