Java JVM监控工具JConsole简介
jconsole命令
功能:打开java监视管理控制台
方法: jconsole [选项1] [选项2]……[选项n]
常用选项:
-help 查看命令帮助
-interval=n将监视图的刷新间隔时间设置为n秒(默认值为4秒)
-J 对正在运行jconsole的Java虚拟机指定输入参数
实例:
1)打开java监视管理控制台
C:\Users\Administrator>jconsole
弹出窗口中选择要连接的进程:
1.本地进程:选择“本地进程”,点击要连接的进程名称,点击连接
2.远程进程:选择“远程进程”,按输入框下方的提示输入必要的远程信息,输入“用户名”,“密码”,点击连接
本例选择本地进程,连接后打开如下界面
2)关于内存的相关说明
Java VM管理两种内存:堆内存(heap memory)和非堆内存(non-heap memory),两者都是在JVM启动时被创建。
堆内存:JVM为所有类实例和数组分配内存的运行时数据区。堆内存大小可以是固定大小或者动态变化的。垃圾收集器是一个会回收对象堆内存的自动化内存管理系统
非堆内存:包含被所有线程共享的方法区和JVM用于内部处理或优化的必备内存。存储每个类结构比如运行时常量池(constant pool),字段(field)和方法数据,方法和结构代码。方法区逻辑上是堆内存的一部分,但是依赖于具体实现,JVM可能不会对它进行垃圾回收。像对内存一样,方法区可固定大小或者大小动态变化。方法区中的内存不一定是连续的。
内存池“Eden Space”:为大多数对象分配初始内存的内存池
内存池“Survivor Space”:包含每个End Space内存池中,经过内存垃圾回收后依然存在的对象的内存池
内存池中“Tenured Generation”:包含在Survivor Space中存在过一段时间的对象的内存池
内存池“Code Cache”:包含用于编译,本地代码存储的内存的内存池
内存池“Perm Gen [shared-rw]”:包含所有虚拟机自身的反射数据(如类和方法对象)的内存池,类数据共享可读可写区。
内存池“Perm Gen [shared-ro]”:包含所有虚拟机自身的反射数据(如类和方法对象)的内存池,类数据共享只读区。
3)其他
右键等手动操作或看界面文字提示就知道了,这里就不多说了
参考连接:
http://my.oschina.net/chenleijava/blog/157682