zoukankan      html  css  js  c++  java
  • JVM性能调优

    一、jvm参数设置

    -XX:+PrintGCDetails:打印GC信息

    -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/a.dump:如果发生了OOM异常,那就把dump信息导出到d:/a.dump文件中

    -Xmx –Xms:指定最大堆和最小堆
    -Xmn:设置新生代大小

    -XX:PermSize:永久区初始大小

    -XX:MaxPermSize:永久区最大空间

    -Xss:栈空间大小设置

    -XX:NewRatio:新生代(eden+2*s)和老年代(不包含永久区)的比值, 例如:4,表示新生代:老年代=1:4,即新生代占整个堆的1/5

    -XX:SurvivorRatio(幸存代):设置两个Survivor区和eden的比值,例如:8,表示两个Survivor:eden=2:8,即一个Survivor占年轻代的1/10


    二、堆的分配参数总结:

    1.根据实际事情调整新生代和幸存代的大小
    2.官方推荐新生代占堆的3/8,幸存代占新生代的1/10
    3.在OOM时,记得Dump出堆,确保可以排查现场问题

    4.新生代分配的空间不同,默认的-XX:SurvivorRatio也不一样,有1,6等值

    5.适当减小幸存代大小,这样的话,能够减少GC的次数

    三、永久区分配参数:

    •   

        设置永久区的初始空间和最大空间。也就是说,jvm启动时,永久区一开始就占用了PermSize大小的空间,如果空间还不够,可以继续扩展,但是不能超过MaxPermSize,否则会OOM。

        他们表示,一个系统可以容纳多少个类型,我们知道,使用CGLIB等库的时候,可能会产生大量的类,这些类,有可能撑爆永久区导致OOM。于是,我们运行下面这段代码:

  • 相关阅读:
    欧几里得方程 模幂运算 模乘运算 蒙哥马利模乘 素数测试
    HLG 1058workflow解题报告
    poj 3264Balanced Lineup解题报告
    JavaScript之HTMLCollection接口
    随记2(IE下调试Javascript)
    抽象类和接口
    JavaScript之字符串处理函数
    随记1
    多态
    自动内存管理
  • 原文地址:https://www.cnblogs.com/myf008/p/11176077.html
Copyright © 2011-2022 走看看