首页 / JAVA / Java内存监控方法
Java内存监控方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java内存监控方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3261字,纯文字阅读大概需要5分钟。
内容图文
1、JMX功能
1.1 介绍
JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
所谓JMX,是Java Management Extensions(Java管理扩展)的缩写,是一个为应用程序植入管理功能的框架。用户可以在任何Java应用程序中使用这些代理和服务实现管理。
JMX架构图:
三层结构
1、 基础层:主要是Mbean,被管理的java bean Mbean分为如下四中
2、适配层:MbeanServer,提供对资源的注册和管理 3、接入层: 提供远程访问的入口 |
JMX最常见的场景是监控Java程序的基本信息和运行情况,任何Java程序都可以开启JMX,然后使用JConsole或Visual VM进行预览。
1.2 添加JMX功能
1、wrapper程序添加JMX功能。
在wrapper.conf配置文件中添加如下配置:
local.jmx.port=39900 wrapper.java.additional.2=-Djava.rmi.server.hostname=192.168.1.75 wrapper.java.additional.3=-Dcom.sun.management.jmxremote.port=39900 wrapper.java.additional.4=-Dcom.sun.management.jmxremote.ssl=false wrapper.java.additional.5=-Dcom.sun.management.jmxremote.authenticate=false |
2、一般java程序添加JMX功能。
在java程序的命令后面指定如下指令
-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=1000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false |
3、tomcat添加JMX功能。
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=ip -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" |
2、Jconsole、jvisualvm工具使用
2.1 jconsole工具使用
1、远程连接进程
2、连接成功后可以观察概览、内存、线程、类、VM概要、MBean
3、 可以查看不同区的内存使用情况
2.2 jvisualvm工具使用
1、远程连接进程
2、登录成功可以查看概述、监视、线程、抽样器。
3、监视:CPU、内存、类、线程
4、通过抽样器可以做内存镜像
生成的文件在远程服务器上查看:
3、解析堆文件
3.1、使用jhat命令解析
jhat -J-mx10240m heapdump-1563861495449.hprof
出现如下信息,表明读取镜像文件成功
3.2、页面展示
使用UI输入如下地址:http://192.168.1.75:7000/
通过页面可以查看:
(1) 显示出堆中所包含的所有的类
(2) 从根集能引用到的对象
(3) 显示平台包括的所有类的实例数量
(4) 堆实例的分布表
(5) 执行对象查询语句
4、JVM性能调优监控工具
jps、jstack、jmap、jhat、jstat、hprof
jmap这个命令执行,JVM会将整个heap的信息dump写入到一个文件,heap如果比较大的话,就会导致这个过程比较耗时,并且执行的过程中为了保证dump的信息是可靠的,所以会暂停应用, 线上系统慎用。
内容总结
以上是互联网集市为您收集整理的Java内存监控方法全部内容,希望文章能够帮你解决Java内存监控方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。