Java JVM监控工具JConsole简介

Java JVM监控工具JConsole简介

jconsole命令

功能:打开java监视管理控制台

方法: jconsole [选项1] [选项2] …… [选项n]

常用选项:

-help        查看命令帮助

-interval=n 将监视图的刷新间隔时间设置为n 秒(默认值为 4 秒)

-J           对正在运行jconsole 的 Java 虚拟机指定输入参数

实例:

1)打开java监视管理控制台

C:\Users\Administrator>jconsole

Java JVM监控工具JConsole简介Java JVM监控工具JConsole简介

弹出窗口中选择要连接的进程:

1.本地进程:选择“本地进程”,点击要连接的进程名称,点击连接

2.远程进程:选择“远程进程”,按输入框下方的提示输入必要的远程信息,输入“用户名”,“密码”,点击连接

本例选择本地进程,连接后打开如下界面

Java JVM监控工具JConsole简介

Java JVM监控工具JConsole简介

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

上一篇:如何去掉C#字符串中的所有空格(转载)


下一篇:Java中ExecutorService和CompletionService区别