小学妹问我:如何利用可视化工具排查问题?
有关JVM问题排查的可视化工具有很多,比如说JDK自带的jconsole、jvsualvm等,第三方有MAT、GChisto、GCView等。
jconsole查看内存回收情况
jconsole工具在JDK的bin目录下。
选中自己的进程,进入,会提示不安全的链接,继续点进去
就会看到整个JVM的概览
可以查看线程以及内存使用情况
还可以选中看JVM内存中某一块,比如说新生代的Eden区、Survivor区、老年代等。
还可以看VM概要,具体数据请看图中的内容
远程连接请参考:
https://blog.csdn.net/u012758088/article/details/78510985
jvisualvm查看内存回收情况
jvisualvm工具在JDK的bin目录下。,用法和jconsole类似;
双击
选择我们的进程
这个概述的东西相对较少
监视整体情况,CPU、堆、类、线程的情况
查看线程相关的数据
进入Profiler,点击内存,然后进入分析阶段,下面就会展示内存中对象的数据
在工作中就可以进行查看内存中对象的情况。
远程连接课请参考:
https://my.oschina.net/u/2300159/blog/812984
第三方工具
MAT
Java 堆内存分析工具。
GChisto
GC 日志分析工具。
GCViewer
GC 日志分析工具。
JProfiler
商用的性能分析利器。
arthas
阿里开源诊断工具。
- https://github.com/alibaba/arthas
async-profiler
Java 应用性能分析工具,开源、火焰图、跨平台。
- https://github.com/jvm-profiling-tools/async-profiler
关于第三方工具的使用,后面会有文章对每一个工具进行详细的演示和说明。如果把所有工具的详细步骤和使用相关注意事项都说一遍的话,篇幅量是相当大的。
持续更新中,敬请期待~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
给我五分钟,带你彻底掌握 MyBatis 缓存的工作原理
前言 在计算机的世界中,缓存无处不在,操作系统有操作系统的缓存,数据库也会有数据库的缓存,各种中间件如Redis也是用来充当缓存的作用,编程语言中又可以利用内存来作为缓存。自然的,作为一款优秀的ORM框架,MyBatis中又岂能少得了缓存,那么本文的目的就是带领大家一起探究一下MyBatis的缓存是如何实现的,只需给我五分钟,带你彻底掌握MyBatis的缓存工作原理。 为什么要缓存 在计算机的世界中,CPU的处理速度可谓是一马当先,远远甩开了其他操作,尤其是I/O操作,除了那种CPU密集型的系统,其余大部分的业务系统性能瓶颈最后或多或少都会出现在I/O操作上,所以为了减少磁盘的I/O次数,那么缓存是必不可少的,通过缓存的使用我们可以大大减少I/O操作次数,从而在一定程度上弥补了I/O操作和CPU处理速度之间的鸿沟。而在我们ORM框架中引入缓存的目的就是为了减少读取数据库的次数,从而提升查询的效率。 MyBatis缓存 MyBatis中的缓存相关类都在cache包下面,而且定义了一个顶级接口Cache,默认只有一个实现类PerpetualCache,PerpetualCache中是内部维...
- 下一篇
【编程鹿】学Vue.js这一篇就够了「万字学会|通俗易懂」
vue概述 mvvm模式 M:即Model,模型,包括数据和一些基本操作 V:即View,视图,页面渲染结果 VM:即View-Model,模型与视图间的双向操作(无需开发人员干涉) 在MVVM之前,开发人员从后端获取需要的数据模型,然后要通过DOM操作Model渲染到View中。而后当用户操作视图,我们还需要通过DOM获取View中的数据,然后同步到Model中。 而MVVM中的VM要做的事情就是把DOM操作完全封装起来,开发人员不用再关心Model和View之间是如何互相影响的: 只要我们Model发生了改变,View上自然就会表现出来。 当用户修改了View,Model中的数据也会跟着改变。 把开发人员从繁琐的DOM操作中解放出来,把关注点放在如何操作Model上。 mvvm模式的优势: 低耦合 视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化时Model可以不变,当Model变化时View也可以不变 可重用性 可以把一些视图逻辑放在一个ViewModel里面,让多个View重用这段视图逻辑代码 独立开发 开发人...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS关闭SELinux安全模块
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker使用Oracle官方镜像安装(12C,18C,19C)