zoukankan      html  css  js  c++  java
  • 常用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

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

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

  • 相关阅读:
    IO流总览图
    自己实现的一个数组排序并去重的功能
    Java常量池详解之一道比较蛋疼的面试题
    一个简单的数组去重并排序方法
    Delphi开发经验谈
    再谈Delphi vs VC++(非常精彩)
    C#根据当前时间获取,本周,本月,本季度等时间段
    delphi CopyMemory、FillMemory、MoveMemory、ZeroMemory
    DupeString 与 StringOfChar 的区别
    SQL最大值加1
  • 原文地址:https://www.cnblogs.com/tandy/p/8999649.html
Copyright © 2011-2022 走看看