炫酷个人网站php源码,网络营销策略主要包括,网站建设 天猫 保证金,文章资讯类网站jconsole
从Java5开始#xff0c;在JDK中自带的java监控和管理控制台用于对JVM中内存、线程、和类等的监控#xff0c;是一个基本JMX(java management extendsions)的GUI性能监控工具
三种连接方式
Local#xff1a;使用JConsole连接是一个正在本地系统运行的JVM#xf…jconsole
从Java5开始在JDK中自带的java监控和管理控制台用于对JVM中内存、线程、和类等的监控是一个基本JMX(java management extendsions)的GUI性能监控工具
三种连接方式
Local使用JConsole连接是一个正在本地系统运行的JVM并且执行程序和运行JConsole的需要是同一个用户JConsole使用文件系统的授权通过RMI连接器连接到平台的Mbean服务器上这种本地连接监控能力只有Sun的JDK具有Remote使用下面的URL通过RMI连接器连接到一个JMX代理service:jmx:rmi:///jndi/rmi://hostName:portNum/jmxrmiJConsole为建立连接需要在环境变量中设置mx.remote.credentials来指定用户名和密码从而进行授权Advanced使用一个特殊的URL连接JMX代理一般情况使用自己定制的连接器而不是RMI提供的连接器来连接JMX代理或者使用JDK1.4实现JMX和JMX Remote应用
Visual VM
Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具集成了多个JDK命令行工具使用Visual VM可以显示虚拟机进程及进程的配置和环境信息(jps,jinfo)监视应用程序的CPU、GC、堆、方法区、及线程信息(jstat,jstack)等甚至代替JConsole在JDK6 update 7以后Visual VM便作为JDK的一部分发布(在JDK/bin目录下)完全免费Visual VM也可以做为独立的软件安装
插件安装
IDEA安装 jvisualvm安装
连接方式
本地连接
监控本地Java进程的CPU、类、线程等
远程连接
①确定远程服务器的IP地址②添加JMX③修改bin/catalina.sh,连接远程的tomcat④在…/conf中添加jmxremote.access和jmxremote.password文件⑤将服务器地址改为公网IP地址⑥设置阿里云安全策略和防火墙策略⑦启动tomcat,查看tomcat启动日志和端口监听⑧JMX中输入端口号、用户名、密码
主要功能 生成/读取堆内存快照 查看JVM参数和系统属性 查看运行中的虚拟机进程 生成/读取线程快照 程序资源的实时监控 其他功能
JMX代理连接远程环境监控CPU分析和内存分析
MAT(Memory Analyzer Tool)
基本概述
Java堆内存分析器可以用于查找内存泄漏以及查看内存消耗情况MAT是基于Eclipse开发的不仅可以单独使用还能以插件方式嵌入Eclipse中使用是一款免费的性能分析工具
获取堆dump文件
dump文件内容
MAT可以分析heap dump文件在进行内存分析时只要获得了反映当前设备内存映像的hprof文件通过MAT打开就能直观地看到当前的内存信息这些内存信息包含
所有的对象信息包括对象实例成员变量存储于栈中的基本数据类型值和存储于堆中的其他对象的引用值所有的类信息包括classloader、类名称、父类、静态变量等GCRoot到所有的这些对象的引用路径线程信息包括线程的调用栈及此线程的线程局部变量(TLS)
获取dump文件
通过jmap工具生成可以生成任意一个java进程的dump文件通过配置JVM参数生成
选项-XX:HeapDumpOnOutOfMemoryError 或 -XX:HeapDumpBeforeFullGC选项 -XX:HeapDumpPath所代表的含义就是当程序出现OOM时将会在相应目录下生成一份dump文件如果不指定则在当前目录生成dump文件生产环境中几乎不可能在线对其进行分析都采用离线分析因此使用jmapMAT工具分析dump文件
使用VisualVM可以导出堆dump文件使用MAT直接从活动Java程序中导出堆快照
分析堆dump文件
histogram(直方图)展示了各个类的实例数目以及这些实例的shallow heap或retainedheap的总和thread overview
查看系统中的Java线程查看局部变量的信息
获取对象相互引用的关系
with outgoing referenceswith incoming references
浅堆与深堆
shallow heapretained heap对象实际大小案例分析StudentTrace
支配树
支持使用OQL语言查询对象信息