• Java JVM监控工具JConsole简介


    Java JVM监控工具JConsole简介

    jconsole命令

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

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

    常用选项:

    -help        查看命令帮助

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

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

     

    实例:

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

    C:UsersAdministrator>jconsole

    Java <wbr>JVM监控工具JConsole简介

     

     

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

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

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

     

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

     

     Java <wbr>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

  • 相关阅读:
    缓存使用的最佳实践
    如何科学的设置线程池
    双检查锁失效
    Minor GC、Major GC和Full GC之间的区别
    full gc频繁的分析及解决案例
    MySQL的并发控制与加锁分析
    全面理解Java内存模型
    JAVA中MAP转LIST
    java 编码转换
    自定义VIew基础
  • 原文地址:https://www.cnblogs.com/shouke/p/10158150.html
Copyright © 2020-2023  润新知