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。于是,我们运行下面这段代码:

  • 相关阅读:
    ZooKeeper 相关知识
    zookeeper 启动和停止脚本
    es 6.4.3 版本的es的处理方式
    SpringBoot启动使用elasticsearch启动异常:Received message from unsupported version:[2.0.0] minimal compatible
    windows下安装elasticsearch-6.4.3和elasticsearch-head插件
    二项式公式
    计算公式
    大规模数据如何检索?
    设计数据服务:为报表服务提供服务接口
    win10 桌面快捷键技术
  • 原文地址:https://www.cnblogs.com/myf008/p/11176077.html
Copyright © 2011-2022 走看看