Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 371|回复: 0

[Java基础知识]使用JDK6 中的JConsole监控应用

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-2 10:36:44 | 显示全部楼层 |阅读模式
    其实在 JDK5中已经新加入了这个功能了. 现在的JDK已经内置了对 VM 的监控功能. JDK 6 中这个工具变的更加好用了. 关于 JDK 5 中如何使用这个工具可以参考这里: http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html
    http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.HTML
    jconsole 可以很方便的监控本机的所有 Java 应用和远程的应用. 监控本地应用
        首先就是启动您要监控的应用, 例如我用JDK1.6来启动了Tomcat, 或 Eclipse也可以, 可以在任务管理器(Ctrl+Alt+Del可以调出来, 或者在任务栏点击右键)里看到进程ID, 例如我这里是6132。如果看不到进程id,请点击: 任务管理器->进程选项卡-> 查看 ->选择列->勾上"PID(进程标识符)"。     接着在 JDK 安装目录中(<JDK_HOME>/bin/jconsole.exe)启动 jconsole.exe (双击或者在 cmd 里面敲入 jconsole), 主界面会提示您建立一个新连接:
      
       
       

         
       

         
       
      
    可以看到进程ID, 选择它, 然后点击"连接". 这些 ID 必须都是用 JDK 1.6 的 java.exe 启动的, 否则在列表里看不到.   JConsle 能监控内存,线程,类的数目和CPU然后点击各个 Tab 可以看到详细的输出, 详细的输出包括:
    内存: 堆/非堆, 峰值, 内存的各个部分, 例如 Perm, Eden 等的大小曲线图.
    线程: 峰值, 所有线程的列表, 堆栈跟踪(哪个对象中的线程)等. 还可以强制执行GC.
    类: 峰值, 类总数曲线图.
    MBean: 一些 JVM 参数的详细 MBean 信息. 监控远程进程 首先需要在运行的应用上启用远程管理, 参数如下(不加用户验证了):
    java -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar ../demo/jfc/Java2D/Java2Demo.jar 然后连接的时候选择远程进程, 地址输入: localhost:1090 即可.当然在别的电脑上(一般是局域网)可以输入那个电脑的IP. 综述: 使用 JConsole 可以简单的监控 Server 状态, 但是本身要占一定的资源, 不过 JVM 自带的监控, 理论上讲应该是占资源很小很小的, 可以用它来方便的了解 Web 服务器应用进程的状态. 如果要调优应用, 还是使用 JProfiler 等工具更好一些, 当然它们占的资源也更大. 后记: jdk1.6.0demomanagementMemoryMonitor 这里带了个很好的画内存曲线图的例子... 大家改改就可以实现同时监控多台 Server 的内存曲线了....   作者: BeanSoft@126.com
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-26 22:21 , Processed in 0.307273 second(s), 36 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表