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

    jvm 性能调优

    一、jvm 内存模型

    二、目标

    在以下三点中,通过修改jvm参数寻找平衡。

    • GC的时间足够的小
    • GC的次数足够的少
    • 发生Full GC的周期足够的长

    三、方法

    1. 减少使用全局变量和大对象;
    2. 调整新生代的大小到最合适;
    3. 设置老年代的大小为最合适;
    4. 选择合适的GC收集器;

    四、常用分析工具

    • JConsole:可直接输入jconsole使用。
    • VisualVM:可直接输入jvisualvm使用。
    • jps:主要用来输出jvm中运行的进程状态信息。
    • jstack:主要用来查看某个java进程内的线程堆栈信息。
    • jmap:用来查看堆内存使用情况,一般结合jhat使用。
    • jstat:jvm统计监测工具。

    五、补充

    常见的性能问题

    1. cpu load 过高导致系统不可用或者tps(吞吐量)急剧降低
    2. jvm 问题导致tps(吞吐量)降低
      • young gc 次数过多
      • full gc 次数过多
      • full gc 时间长
      • perm space 回收频繁或oom(Out Of Memory)
    3. 重复查询泛滥
    4. 锁竞争或死循环
    5. 连接池连接占用
    6. 不合理的使用集合
  • 相关阅读:
    poj2186强连通分量
    poj1459SAP最大流模板题
    poj2391Floyd+二分+最大流
    curl上传下载入门
    Mysql存储过程
    小球旋转
    钟表单摆
    java小记 摘抄
    servlet的一些收集总结
    Javascript基础小结
  • 原文地址:https://www.cnblogs.com/wscy/p/9351537.html
Copyright © 2011-2022 走看看