• 常用JVM配置参数


    1.Trace跟踪参数

     1.1 -verbose:gc

      -XX:+printGC

      可以打印GC的简要信息

      [GC 4790K->374K(15872K), 0.0001606 secs]

      [GC 4790K->374K(15872K), 0.0001474 secs]

      [GC 4790K->374K(15872K), 0.0001563 secs]

      [GC 4790K->374K(15872K), 0.0001682 secs]

       1.2-XX:+PrintGCDetails

      打印GC详细信息

    -XX:+PrintGCTimeStamps

    打印CG发生的时间戳

    [GC[DefNew: 4416K->0K(4928K), 0.0001897 secs] 4790K->374K(15872K), 0.0002232 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

     1.3 -XX:+PrintGCDetails的输出

     1.4 -Xloggc:log/gc.log

    指定GC log的位置,以文件输出

    帮助开发人员分析问题

     1.5 -XX:+PrintHeapAtGC

    每次一次GC后,都打印堆信息

      1.6

    -XX:+TraceClassLoading

    监控类的加载

    1.7 -XX:+PrintClassHistogram

    按下Ctrl+Break后,打印类的信息:

    分别显示:序号、实例数量、总大小、类型

    2.堆的分配参数

      2.1-Xmx Xms

    指定最大堆和最小堆

     2.2 -XX:+HeapDumpOnOutOfMemoryError

    OOM时导出堆到文件

    -XX:+HeapDumpPath

    2.3  -XX:OnOutOfMemoryError

    OOM时,执行一个脚本

    "-XX:OnOutOfMemoryError=D:/tools/jdk1.7_40/bin/printstack.bat %p

     当程序OOM时,在D:/a.txt中将会生成线程的dump

    可以在OOM时,发送邮件,甚至是重启程序

    导出OOM的路径

    总结:根据实际事情调整新生代和幸存代的大小

    官方推荐新生代占堆的3/8

    幸存代占新生代的1/10

    OOM时,记得Dump出堆,确保可以排查现场问题

    3.永久区的分配参数

     -XX:PermSize  -XX:MaxPermSize

    设置永久区的初始空间和最大空间

    他们表示,一个系统可以容纳多少个类型

  • 相关阅读:
    java中BigDecimal的四舍五入小记
    thinking in java学习笔记:14章 类型信息
    java中==和equals
    java中值传递和引用传递
    java中的赋值
    hessian学习笔记
    springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题
    要是满足下面的其中3种情况,你就跑路吧
    vim程序编辑器---常用操作整理
    报错end Kernel panic
  • 原文地址:https://www.cnblogs.com/tandy/p/8999649.html
Copyright © 2020-2023  润新知