美文网首页
性能-JVM监控

性能-JVM监控

作者: 喵你一口 | 来源:发表于2019-10-17 17:03 被阅读0次

JVM:

java virtual machine java虚拟机
1、JVM具有完整的硬件系统,如处理器,堆栈,寄存器等,还有相应的指令系统
2、JVM的主要工作是解释直接的指令集,并映射到本地的cpu指令集合os系统调用

JVM构成图如下:


图片.png

堆的构成图如下:


图片.png

堆主要存放java中的实体

性能测试中主要关注点:

  • JVM的内存,
  • 线程,
  • CPU

为什么要进行GC

  • JVM减少系统垃圾,提交系统性能

JVM内存-GC(Garbage Collection)

  • JVM GC回收哪个区域的垃圾?
    需要注意的是,JVM GC只回收堆区和方法区内的对象。而栈区的数据,在超出作用域后会被JVM自动释放掉,所以其不在JVM GC的管理范围内。

  • Full GC?
    Full GC 是清理整个堆空间—包括年轻代和永久代。

  • Full GC触发的条件?
    参考链接:https://blog.csdn.net/qq_38384440/article/details/81710887
    1、System.gc()的调用
    2、老年代空间不足;
    3、永生区空间不足(JDK8.0以上已无永生区);
    4、CMS,GC机制(??)
    5、HandlePromotionFailure(??)
    6、分配很大的对象

  • Full GC频率
    频率越低越好,一般几天一次,如果Full GC频率很高,则要检查是否有问题。
    举例,如图所示,该服务大概7h进行一次Full GC,需进一步定位;
    且每次回收后,老年代有1G内容未被回收,说明有内存泄漏。(内存泄漏,指本该被回收的对象不能被回收而停留在堆内存中

    图片.png
  • 怎么定位??(敲黑板)
    参考文档:https://www.cnblogs.com/wuchanming/p/7766994.html
    1、可以根据进程和线程分析
    2、使用dump分析内存
    2-1、 用工具生成java应用程序的heap dump(如jmap)
    2-2、 使用Java heap分析工具(如MAT),找出内存占用超出预期的嫌疑对象
    2-3、 根据情况,分析嫌疑对象和其他对象的引用关系。
    2-4、 分析程序的源代码,找出嫌疑对象数量过多的原因。
    3、分析CPU利用率是否稳定(top命令)
    4、查看物理内存是否够用 (free命令)
    total:内存总数;
    used:已经使用的内存数;
    free:空闲的内存数;
    shared:当前已经废弃不用;
    buffers Buffer:缓存内存数;
    cached Page:缓存内存数;

相关文章

  • JVM性能调优

    JVM性能调优 JVM性能监控工具介绍

  • 服务器JVM等查看

    常用 JVM性能调优监控工具JDK内置工具使用JAVA线程dump分析JVM致命错误日志1 . CPU的监控 cs...

  • 性能-JVM监控

    JVM: java virtual machine java虚拟机1、JVM具有完整的硬件系统,如处理器,堆栈,寄...

  • JVM性能监控工具使用说明

    JVM性能监控工具使用说明 命令JPS 命令JSTAT JMAP JSTACK PSTREE TOP JVM中系统变量

  • 几种线上问题排查常用的java命令

    JVM性能调优监控工具之jps、jstack、jmap、jhat、jstat jps 查看所有的jvm进程,包括进...

  • JVM异常处理

    JVM监控和管理主要针对的是JVM内存溢出问题和性能问题,本篇主要介绍JVM常见的异常处理方式和性能调优。 一、O...

  • 性能与压力测试

    性能与压力测试 @[toc] 一、性能监控 1、jvm内存模型 程序计数器 Program Counter Reg...

  • Java调优工具介绍

    Java监控工具 jcmd : jvm 性能调优工具之 jcmd示例: jconsole:图形化监控工具示例:在命...

  • 命令行工具:jps、jstack、jmap、jhat、jstat

    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解 jps(Java ...

  • JVM性能监控详解

    一,JVM内存管理--运行时数据区 二,堆内存 1.新生代2.老年代3.持久代 三,垃圾回收器 1.新生代回收 M...

网友评论

      本文标题:性能-JVM监控

      本文链接:https://www.haomeiwen.com/subject/rpbfmctx.html