Jconsole使用实例解说
Jconsole是jdk自带的一套java虚拟机执行状况监视器,它能够用来监控虚拟机的内存,线程,cpu使用情况以及相关的java进程相关的MBean,主界面例如以下:
图1
怎样连接被监控的Java虚拟机:
1. 设置被监控的Java虚拟机启动的參数,一般的情况下,会有下面三个參数,各自是:
-Dcom.sun.management.jmxremote.port=1090
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
在Eclipse中,例如以下图所看到的:
图2
被监控的虚拟机启动以后,我们就能够其他电脑上通Jconsole进行远程连接。
连接的过程例如以下:
1.打开cmd,输入jconsole,就会出现jconsole控制台,例如以下所看到的:
图3
然后,我们输入要被监控的Java虚拟机的IP地址和port号,如果输入正确,连接button就上生效如果设计的监控port号为12345,连接的IP为:10.72.35.130,例如以下图所看到的:
图4
点击连接后,就会进入到图1,说明就连接成功了。
在概览这个Tab中,主要监控是的虚拟机的堆内存、线程、类以及cpu占用率;
在内存Tab中,能够选择监控的内存对象,堆内存、非堆内存、PS Eden Space、PS Survivor Space、PS Old Gen、Code Cache、PS Per Gen 当然这里监控的是Parallel Scovage算法的虚拟,假设是收集器是其他算法,可能显示的名称会有不一样,但本质上是一样的,这个有兴趣的自己能够去试试 。
像线程Lab、类Lab、VM概要Lab在这里就不作过多的介绍,以下重点说一下MBean这个Label
注冊到JMX代理的平台或者应用的MBeans,能够通过MBeans标签获取。比如,内存的MBeans如以下定义:
public interface MemoryMXBean {
public MemoryUsage getHeapMemoryUsage();
public MemoryUsage getNonHeapMemoryUsage();
public int getObjectPendingFinalizationCount();
public boolean isVerbose();
public void setVerbose(boolean value);
public void gc();
}
内存的MBean包含四个属性:
HeapMemoryUsage. 用于描写叙述当前堆内存使用情况的仅仅读属性
NonHeapMemoryUsage. 用于描写叙述当前的非堆内存的使用情况的仅仅读属性
ObjectPendingFinalizationCount.用于描写叙述有多少对象被挂起以便回收。
Verbose.用于动态设置GC是否跟着具体的堆栈信息,为一个布尔变量 内存的MBean支持一个操作——GC,此操作能够发送进行实时的垃圾回收请求
MBean 标签 左边的树形结构以名字的方式展示了全部MBeans的列表。一个MBean对象的名字由一个域的名字和一串keyword属性组成。比如,JVM的平台的MBeans是在“java.lang”域下的一组,而日志的MBeans则在"java.util.logging"域下。MBean对象的名字在javax.management.ObjectName 规范中定义。
当你在树中选中一个MBean,属性,操作,或者通知等一些信息会再右边显示出来。假设属性是可写的(属性被标志为蓝色),你能够进行设置。
MBean 操作 你能够操作在”操作”节点中列出的操作。
MBean 通知 你也能够看到由MBean发送出来的通知:默认情况,假设你不订阅通知的话,JConsole不会收到MBean发生过来的通知。你能够点击"订阅"button来堆通知进行定义,而使用"末订阅"button来取消订阅 4、监控内存 内存标签页通过读取内存系统、内存池、垃圾回收的MBean来获取对内存消耗、内存池、垃圾回收的情况的统计。
Jconsole使用实例解说的更多相关文章
- Android 依赖注入: Dagger 2 实例解说(一)
本文原创,转载请注明出处:http://blog.csdn.net/zjbpku [Duplicated] link to Dagger on Android - Dagger2具体解释 关于D ...
- Oracle之索引(Index)实例解说 - 基础
Oracle之索引(Index)实例解说 - 基础 索引(Index)是关系数据库中用于存放表中每一条记录位置的一种对象.主要目的是加快数据的读取速度和数据的完整性检查.索引的建立是一项技术性要求很高 ...
- 【JEECG技术博文】JEECG 简单实例解说权限控制
JEECG简单实例解说权限控制 请大家点击这里为我们投票.2015博客之星.很多其他分享敬请期待 博文地址:http://blog.itpub.net/30066956/viewspace-18687 ...
- Servlet实例解说
打开昨天上午,负责人突然问我,client控制信息,如何让在后台?我想回答:假设总体提交form,在C#使用代码request获取表单的内容.假设局部提交,在用JS和Ajax交互,通过Ajax的ope ...
- 跳水Hibernate(一)实例解说
此语一与高二接触SSH三框架,但是,当能力有限.我们没有继续下行.今天,我们正在采取的优势Java金痴迷,随即再次上调,另一项研究SSH.让我们先从SSH中间Hibernate说起. 或许你会问.为什 ...
- Android 实例解说加入本地图片和调用系统拍照图片
在项目的开发过程我们离不开图片.而有时候须要调用本地的图片,有时候须要调用拍照图片.同一时候实现拍照的方法有两种,一种是调用系统拍照功能.还有一种是自己定义拍照功能. 而本博文眼下仅仅解说第一种方法, ...
- 文件系统管理 之 实例解说 fdisk 使用方法
一.fdisk 的介绍: fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具:本人译的不太好,也没有看中文文档:其实就是分 ...
- 实例解说Linux命令行uniq
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行.在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的.该命令加工后的结果 ...
- Echache整合Spring缓存实例解说
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要介绍了EhCache,并通过整合Spring给出了一个使用实例. 一.EhCac ...
随机推荐
- [WASM] Call a JavaScript Function from WebAssembly
Using WASM Fiddle, we show how to write a simple number logger function that calls a consoleLog func ...
- js进阶 11-24 jquery如何实现选项卡的制作
js进阶 11-24 jquery如何实现选项卡的制作 一.总结 一句话总结:ul>li做选项卡的选项卡头,多个div做选项卡的内容,点到对应的li,就切换到对应的div,用index()获取l ...
- x265探索与研究(四):怎样编码视频?
怎样编码视频? 本文介绍x265中的两种编码视频方法,一是採用命令行的方法.二是GUI的方式. 1.命令行的方法 (1).第一种方式生成*.265格式的视频文件 ...
- Java获取文件路径的几种方法
第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); ...
- linux下Oracle11g RAC搭建(一)
linux下Oracle11g RAC搭建(一) 文档说明 作者 深蓝 项目 Visualbox下模拟RAC搭建(双节点)(Redhat5+Oracle11G) 环境 RedHat Enterp ...
- java判断字符串是否为数字
我们在做安卓开发中,一定会遇到判断某字符串是否是数字的问题,本文使用正则表达式可以很方便的判断出来,希望本文对安卓开发者有所帮助. 1 public boolean isNumeric(Strin ...
- 三种思路实现自定义404页面:Tomcat、SpringMVC精准匹配、重写DispatchServlet
第1种方式:Tomcat直接处理 web.xml <error-page> <error-code>404</error-code> <location> ...
- MySQL crash-safe replication
MySQL数据库的成功离不开其replicaiton,相对于Oracle DG和Microsoft SQL Server Log Shipping来说,其简单易上手,基本上1,2分钟内根据手册就能完成 ...
- JVM源码分析之System.currentTimeMillis及nanoTime原理详解
JDK7和JDK8下的System.nanoTime()输出完全不一样,而且差距还非常大,是不是两个版本里的实现不一样,之前我也没注意过这个细节,觉得非常奇怪,于是自己也在本地mac机器上马上测试了一 ...
- 【14.94%】【codeforces 611E】New Year and Three Musketeers
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...