• 常用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

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

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

  • 相关阅读:
    猜数游戏
    计算数组长度
    python 将IP地址转换成打包后的32位格式
    nutch-2.2.1 hadoop-1.2.1 hbase-0.92.1 集群部署
    Julien Nioche谈Apache Nutch 2的特性及产品路线图
    一次心惊肉跳的服务器误删文件的恢复过程
    Http长连接200万尝试及调优
    zookeeper 系列
    Enhancing the Scalability of Memcached
    linux杂谈(十八):DNS服务器的配置(一)
  • 原文地址:https://www.cnblogs.com/tandy/p/8999649.html
Copyright © 2020-2023  润新知