当前位置: 首页 > news >正文

JDK自带JVM分析工具

一、JDK自带工具盘点:


jstat:性能分析-查看gc情况;

jmap:内存分析-堆信息;

jstack:线程分析-栈信息;

jinfo:参数查看及配置;

jstatd:启动jvm监控服务。它是一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息。默认端口1099;

jdb :JDB是基于文本和命令行的调试工具;

jhat:用于对JAVA heap进行离线分析的工具,他可以对不同虚拟机中导出的heap信息文件进行分析,如LINUX上导出的文件可以拿到WINDOWS上进行分析,可以查找诸如内存方面的问题;

jps : jps是用来查看JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等;

jconsole:是基于JAVA Management Extensions (JMX)的实时图形化监测工具,这个工具利用了内建到JVM里面的JMX指令来提供实时的性能和资源的监控,包括了JAVA程序的内存使用,堆和线程信息,类的分配状态和空间使用、检测死锁等;

JVisualVM: jvisualvm是jdk1.6以后带上的工具,是升级版的jconsole,且支持插件拓展;

jstat、jmap、jstack、jdb、jconsole都是1.6之前,之后JVisualVM替代。所以,JDK自带工具则只要使用jps、jVisualVM和jStatd即可。
 

二、常用工具使用

jps:

jstatd:

 jstatd只能够监控具有适当的本地访问权限的JVM。因此,jstatd进程必须以与目标JVM相同的用户凭证来运行。

jVisualVM:

安装插件: 插件市场:VisualVM: Plugins Centers 

 

 都可以去选中安装插件

 点击线程可以查看是否检查到死锁的状态

查看堆:

 

 搭档jstatd远程监控:

cd /usr/local/java/jdk1.8.0_311/jre/lib/management

cp jmxremote.password.template jmxremote.password

chmod 644 jmxremote.password

再到java的bin目录下创建一个文件jstatd.all.policy,内容为

grant codebase "file:/usr/local/java/jdk1.8.0_311/lib/tools.jar" {
permission java.security.AllPermission;
};

启动服务

jstatd -J-Djava.security.policy=/usr/local/java/jdk1.8.0_311/bin/jstatd.all.policy  -p 1099 &

验证启动成功:

netstat -anp |grep jstatd

注意:云服务器记得除了1099外还需开启对应的端口访问权限 

打开JvisualVM,右键远程,添加服务器主机,高级设置或添加jstatd链接默认端口1099,则等待自动刷新即可显示。

对应版本官方手册:Java Platform, Standard Edition Documentation - Releases

http://www.lryc.cn/news/38853.html

相关文章:

  • IO多路复用--[select | poll | epoll | Reactor]
  • pod的requests、limits解读、LimitRange资源配额、Qos服务质量等级、资源配额管理 Resource Quotas
  • R语言基础(六):函数
  • [C++] 简单序列化
  • Autosar Configuration(十三)SomeIP之配置TCP/IP
  • 滤波算法 | 无迹卡尔曼滤波(UKF)算法及其Python实现
  • IMU 积分的误差状态空间方程推导
  • VirtualBox的克隆与复制
  • 每天5分钟玩转机器学习算法:逆向概率的问题是什么?贝叶斯公式是如何解决的?
  • 游戏闲聊之游戏是怎么赚钱的
  • Redis高频面试题汇总(下)
  • Windows修改Docker安装目录修改Docker镜像目录,镜像默认存储位置存放到其它盘
  • 376. 摆动序列——【Leetcode每日刷题】
  • mgre实验
  • 一文彻底了解Zookeeper(介绍篇)
  • 1. ELK Stack 理论篇之什么是ELK Stack?
  • 两道有关链表的练习
  • Python uiautomator2安卓自动化测试
  • Leetcode. 160相交链表
  • MDPs —— 马尔可夫决策定义与算法
  • 【C++】图
  • 尾递归优化
  • P1120 小木棍(搜索+剪枝)
  • 【专项训练】动态规划-3
  • 【Linux】信号+再谈进程地址空间
  • C++回顾(二十一)—— list容器
  • 爱国者一体机电脑蓝屏怎么U盘重装系统教学?
  • Vue学习笔记(9)
  • 中值滤波+Matlab仿真+频域响应分析
  • 自然语言处理中数据增强(Data Augmentation)技术最全盘点