【JVM学习笔记】虚拟机工具及性能监测命令

JMC性能监测 文章目录一、打开JMC二、界面说明 性能监测图形化,通过jdk自带的JMC工具即可轻松实现。JMC的全称为java mission control,意思为java程序任务控制台。 一、打开JMC 在你下载好的jdk的bin目录下即可找到jmc.exe程序,双击打开即可。 或者使用稍微酷一点的方法,在命令行中打开: D:\jdk1.8.0_201\bin\jmc 二、界面说明 打开后默认的界面分左右: MBean服务器界面: ... 阅读详情

JPS

java process status

jps -l 查看包名+类名

jps -m 查看类和接收的参数

jps -v 查看类+虚拟机参数

 

jstat

类装载,内存 ,垃圾收集,jit编译的信息

命令格式:jstat [options] VMID [interval] [count]

[options] : 操作参数,一般使用 -gcutil 查看gc情况

VMID : 本地虚拟机进程ID,即当前运行的java进程号

[interval] : 连续输出的时间间隔,单位为秒或者毫秒

[count] : 连续输出的次数,如果缺省打印无数次

 

OptionDisplays
class类加载的行为统计。
compilerHotSpt JIT编译器行为统计。
gc垃圾回收堆的行为统计。
gccapacity各个垃圾回收代容量(young,old,perm)和他们相应的空间统计。
gcutil垃圾回收统计概述(百分比)。
gccause垃圾收集统计概述(同-gcutil),附加最近两次垃圾回收事件的原因。
gcnew新生代行为统计。
gcnewcapacity新生代与其相应的内存空间的统计。
gcold年老代和永生代行为统计。
gcoldcapacity年老代行为统计。
gcpermcapacity永生代行为统计。
printcompilationHotSpot编译方法统计。

  • S0:幸存1区当前使用比例
  • S1:幸存2区当前使用比例
  • E:伊甸园区使用比例
  • O:老年代使用比例
  • M:元数据区使用比例
  • CCS:压缩使用比例
  • YGC:年轻代垃圾回收次数
  • FGC:老年代垃圾回收次数
  • FGCT:老年代垃圾回收消耗时间
  • GCT:垃圾回收消耗总时间

 

元空间的本质和永久代类似,都是对JVM规范中方法区的实现。元空间和永久代最大的区别在于:元空间并不在虚拟机中,而是使用本地内存。因此,默认情况下,元空间的大小仅受本地内存限制。

 

jinfo

查看和调整虚拟机参数

如查看虚拟机是否使用G1垃圾收集器

+代表使用,-代表没使用

 

查看jvm的参数:jinfo -flags process_id

查看java系统参数:jinfo -sysprops process_id

如果需要关闭GC日志的打印,使用下面的命令:

jinfo -flag -PrintGC 27250 

jinfo -flag -PrintGCDetails 27250

查看是否开启了GC日志的打印:

jinfo -flag PrintGC 27250 

jinfo -flag PrintGCDetails 27250

 

 

jmap

JVM Memory Map命令用于生成heap dump文件,如果不使用这个命令,还可以使用-XX:+HeapDumpOnOutOfMemoryError参数来让虚拟机出现OOM的时候自动生成dump文件。 jmap不仅能生成dump文件,还可以查询finalize执行队列、Java堆和永久代的详细信息,如当前使用率、当前使用的是哪种收集器等。

命令格式

jmap [ option ] pid

jmap [ option ] executable core

jmap [ option ] [server-id@]remote-hostname-or-IP

参数

option:选项参数,不可同时使用多个选项参数

pid:java进程id,命令ps -ef | grep java获取

executable:产生核心dump的java可执行文件

core:需要打印配置信息的核心文件

remote-hostname-or-ip:远程调试的主机名或ip

server-id:可选的唯一id,如果相同的远程主机上运行了多台调试服务器,用此选项参数标识服务器

 

options参数

heap : 显示Java堆详细信息

histo : 显示堆中对象的统计信息

permstat :Java堆内存的永久保存区域的类加载器的统计信息

finalizerinfo : 显示在F-Queue队列等待Finalizer线程执行finalizer方法的对象

dump : 生成堆转储快照

F : 当-dump没有响应时,强制生成dump快照

 

 

jhat

JVM Heap Analysis Tool命令是与jmap搭配使用,用来分析jmap生成的dump,jhat内置了一个微型的HTTP/HTML服务器,生成dump的分析结果后,可以在浏览器中查看。在此要注意,一般不会直接在服务器上进行分析,因为jhat是一个耗时并且耗费硬件资源的过程,一般把服务器生成的dump文件复制到本地或其他机器上进行分析。

一般不用。

 

jstack

jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。

线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。

 

jstack [ option ] pid

基本参数:

-F 当jstack [-l] pid没有响应的时候强制打印栈信息

-l 长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.

-m 打印java和native c/c++框架的所有栈信息. -h | -help打印帮助信息

pid 需要被打印配置信息的java进程id,可以用jps工具查询. [1] 

注意:

1、不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, dump信息也有差别。

2、在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生三次 dump信息,如果每次 dump都指向同一个问题,我们才确定问题的典型性。

 

jconsole

内存监控

线程监控

死锁

 

VisualVM

一款功能丰富的虚拟机性能监测工具

 

Java虚拟机JVM性能调优实战 16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化。工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题,长长可以到达事半功倍的效果来。jvm监控分析工具一般分为... 阅读详情

相关推荐

JVM 性能调优监控工具之jstat(JVM统计监测工具)

JVM 性能调优监控工具之jstat(JVM统计监测工具) 文章目录JVM 性能调优监控工具之jstat(JVM统计监测工具)前言一、什么是jstat?二、简介2.语法格式如下总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、什么是jstat? Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,中文名字“java虚拟机统计信息工具”。 二、简介 Jstat位于java的bin目录下,主要利用

zhx__的博客 2672

虚拟机检测技术

第一次尝试恶意代码分析就遇到了虚拟机检测,于是就想着先学习一下检测的技术然后再尝试绕过。学习后最终发现,似乎最好的方法不应该是去patch所有检测方法,而是直接调试并定位检测函数再绕过。但既然已经研究了两天,索性将收集到的资料整理一下,方便后人查找。

全粘工程师 4745

测试:虚拟机查看CPU使用率

在 **Windows 虚拟机** 和 **Linux 虚拟机** 中查看 CPU 使用率的常用方法。

Kant2048的博客 3305

检测当前环境是否是虚拟机

虚拟机检测技术--检测当前环境是否是虚拟机

sunjiaoya的博客 6646

vmware压力测试

JAVA虚拟内存 线程池 并发数/秒 循环数/运行时间 cpu使用率 jvm内存使用率 响应时间(秒) 成功率 2G 150 20 15分钟 50%-60% 250m-600m 0.069 100% 好东西是言语无法表达的.

用于多种无人机协作的群体智能算法:综合综述

随着无人机技术的快速高水平发展,将多架无人机作为自主控制的编队应用于复杂情况是一个新兴领域的代表之一。在实现自主控制的挑战中,碰撞避免、任务分配、路径规划和编队重构是关键功能。本文对各种经典的无人机群智能算法进行了系统的总结和分析。

erjia_的博客 1万+

java虚拟机性能分析和故障解决工具

使用windows或unix命令也可以查询到虚拟机的进程的唯一ID,但如果同时启动多个虚拟机进程,根据进程名称定位,那只能依赖jps命令显示主类的功能才能区分。作用:列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main class,main函数所在的类)名称以及这些进程的本地虚拟机唯一的id。作用:监视虚拟机各种运行状态信息,可以显示本地或者是远程虚拟机进程中的类装载,内存,垃圾收集,IT编译等运行数据。-v 显示进程ID,主类名称,以及传入的jvm的参数。-class:显示有关类加载行为的统计信息。

wangjunji34478的专栏 586

ESP32拓展板DIY全攻略:从零打造你的传感器控制中心(附PCB设计文件)

本文详细介绍了如何从零开始DIY ESP32拓展板,打造多功能传感器控制中心。内容涵盖项目规划、硬件设计、PCB布局、制作测试全流程,并提供进阶优化建议和实战案例。特别适合嵌入式硬件爱好者学习ESP32拓展板开发,实现各类传感器的高效集成与控制。

blockchain9miner的博客 1080

【Java JVM】JVM 分析工具

在 $JAVA_HOME/bin 的目录下, 存在着许多小工具, 除了编译和运行 Java 程序外, 打包, 部署, 签名, 调试, 监控, 运维等各种场景都可能会用到它们。

LCN29的博客 2270

POI 写word,添加标题,表格,图片,自动生成目录,合并单元格

工程地址:https://github.com/zheng-chang-wei/word package com.example.demo1.poi; import org.apache.poi.xwpf.usermodel.XWPFDocument; import java.io.File; import java.io.FileOutputStream; public class ...

zheng_chang_wei的博客 6155

【XR技术介绍】深度解析|AI眼镜核心技术架构:从硬件层到端云AI全链路拆解

本文将逐层拆解AI眼镜完整技术架构,梳理硬件、感知、光学、端侧AI、软件云端五大核心层级,剖析核心数据流与行业技术瓶颈,同时附上标准化技术架构图,适合技术学习、方案汇报、行业科普使用。

houdou112358的博客 441

JVM虚拟机性能监控工具

JVM的命令行和可视化监控工具使用简单介绍

weixin_47748878的博客 1466

视觉语言模型在三维导航中的应用:JanusVLN项目解析与实战

视觉语言模型(VLM)作为多模态人工智能的核心技术,通过融合视觉感知与自然语言理解能力,实现了对开放世界场景的语义化解析。其原理在于利用预训练的视觉编码器和大型语言模型,将图像信息映射到与文本对齐的语义空间,从而完成跨模态的推理与生成。这一技术为机器人自主交互、智能家居控制等场景提供了基础能力支撑,尤其在需要理解复杂指令并执行序列决策的任务中展现出巨大价值。本文聚焦于视觉语言导航(VLN)这一具体应用,探讨如何通过架构创新与高效微调策略,将通用VLM适配到三维仿真环境中的导航任务,并以JanusVLN项目为

weixin_30240349的博客 671

jvm性能监测工具

JVM优化一共有两个方面 1. 了解JVM的小工具 我讲的JVM工具都不是第三方的,是JAVA Development Kit自带的工具,是bin目录下的好多东西,bin目录 大部分都是可执行文件,其实对于这些可执行文件,比如javac.exe编译器我们用过,还有java.exe,java.exe是 我们的虚拟机,javadoc.exe根据你的注释生成API位文档,native2a...

Leon_Jinhai_Sun的博客 1056

倍福Beckhoff运动控制功能块实战解析:从MC_ReadActualPosition到MC_GearInVelo

本文深入解析倍福(Beckhoff)TwinCAT运动控制功能块,从基础的MC_ReadActualPosition、MC_Power等轴状态读取与使能操作,到MC_MoveAbsolute、MC_MoveRelative等单轴定位指令,并重点剖析了用于动态速度同步的核心功能块MC_GearInVelo在飞锯等场景的应用。文章结合实战经验,详细介绍了齿轮耦合、电子凸轮(MC_CamIn)等高级同步功能的参数配置、调试技巧及常见问题,旨在帮助工程师快速掌握倍福运动控制工具箱,实现复杂的同步工艺。

transformer2023的博客 984

潜流式人工湿地计算_复合人工湿地净化水产养殖污水技术

技术概论1. 定义与分类人工湿地是指用人工筑成水池或沟槽,底面铺设防渗漏隔水层,充填一定深度的基质层,种植水生植物,利用基质、植物、微生物的物理、化学、生物三重协同作用使污水得到净化的系统。当池塘养殖污水进入人工湿地时,其污染物被床体吸附、过滤、分解而达到水质净化作用。按照水体流动方式,人工湿地分为表面流人工湿地、水平潜流人工湿地、垂直潜流人工湿地以及由前面几种湿地混合搭配的组合式人工湿...

weixin_42365490的博客 4249

JVM常用排查命令

pidstat 是 Sysstat 中的一个组件,也是一款功能强大的性能监测工具,top 和 vmstat 两个命令都是监测进程的内存、CPU 以及 I/O 使用情况,而 pidstat 命令可以检测到线程级别的。top命令是我们最常用的Linux命令之一,它可以实时的显示当前正在执行的进程的CPU使用率,内存使用率等系统信息。vmstat是一个指定周期和采集次数的虚拟内存检测工具,可以统计内存,CPU,swap的使用情况,它还有一个重要的常用功能,用来观察进程的上下文切换。dump : 生成堆转储快照。

知道自己不要什么,不管多么大的诱惑(欢迎关注:职谷智享) 1247

fasterlio原理及代码框架梳理

Faster-LIO 的优势是在保持同等高精度的前提下,显著提升计算效率,以支持更极端的应用场景(如高速无人机)和更廉价的硬件平台。可以把 Faster-LIO 理解为用一把更快的“空间哈希筛子”(iVox)替换了原来精细的“动态平衡树”(ikd-Tree),从而在精度损失极小的情况下,实现了效率的显著提升。:只在实际有地图点的空间区域动态创建和保留体素单元,形成一个稀疏的体素地图。是关键:将去畸变点云中的每个点,在 iVox 维护的局部地图中搜索近邻(如5个最近点),构建点到面的距离残差。

Studying…… 246

JVM虚拟机(七)JVM调优的工具

JVM虚拟机(七)JVM调优的工具

ACGkaka的博客 1634

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

JVM性能监测工具-JConsole

JVM性能监测工具-JConsole

爱笑的boy的博客 2186

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

干货-深入理解Java虚拟机-2-虚拟机性能监控命令与故障处理工具

前言 学习JVM有什么意义和作用? 1、学习JVM能更深入的理解Java这门语言,能理解Java语言底层的执行过程。 2、学习JVM,为了项目上线后去排查一些程序log日志中无法呈现的问题,可以通过GC日志来排查项目问题以及进行调优。 3、能够利用一些工具,jmap, jvisualvm, jstat, jconsole等工具可以辅助你观察Java应用在运行时堆的布局情况,由此你可以通过调整JVM相关参数提高Java应用的性能。 4、学习之前面试官虐待你你会觉得很痛苦,学完之后再被虐待时你会觉得很享受。 基

Java全栈领域/离线地图/微服务 471

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

JVM 性能调优 -- JVM常用调优工具【jps、jstack、jmap、jstats 命令】

总结:本篇分享 JDK 自带的一些 JVM 调优工具的使用,使用 jps、jinfo、jmap、jstack、jhat、jstat 命令来查看 Java 应用程序的堆栈信息,来辅助我们进行 JVM 调优,关于可视化工具的部分我们下一篇再来分享,希望可以帮助到有需要的朋友们。可以看到执行 jinfo 命令打印了非常多的信息,包括 Java 版本、环境信息、JVM 参数等非常多的信息,这些信息并不是我们都要关注的,如果我们想要少看到一些信息,可以使用 jinfo -flags 线程pid 命令。

weixin_42118323的博客 2417

Java虚拟机性能监测工具

文章目录虚拟机内存分析常用命令jps [options] [hostid]jmap [option] 虚拟机内存分析常用命令 jps [options] [hostid] options:命令选项,用来对输出格式进行控制,jps命令选项如下: -q 不输出类名、Jar名和传入main方法的参数 -m 输出传入main方法的参数 -l 输出main类或Jar的全限名 -v 输出传入JVM的参数 ...

paku-san的博客 1053

JVM常用分析工具

JDK的bin目录中有“java.exe”、 “javac.exe”这两个命令行工具,但bin目录之中还有很多其他命令行程序,这些工具非常强大可以用于监视虚拟机和故障处理。 工具名称 作用描述 jps.exe JVM进程状态工具(JVM Process Status Tool),用于显示目标系统上JVM的Java进程信息。 jstat.exe ...

风中飘雪 2353

【JVM进阶之路】八:性能监控工具-命令行篇

JVM进阶之路第八篇,详解操作系统性能监控工具和JDK性能监控工具。

三分恶的博客 3984

虚拟机性能监控与故障处理工具の6个命令工具

《深入理解JAVA虚拟机JVM高级特性与最佳实践》的第四章——“虚拟机性能监控与故障处理工具”书上介绍了JDK的6个命令工具和2个可视化的故障处理工具。 今天我就来一一试试,看是不是真的像书上的说那么神奇。 不过书上也说了,Linux下可以查看的命令和使用的功能更全面,Windows下很多命令不支持。嗯,今天先试试Windows下的水,改天装了Linux再试一下。

Lilyの博客 ٩(❛ัᴗ❛ั) 780
上一篇: 【JVM学习笔记】垃圾收集器
下一篇: MySQL 慢查询日志介绍
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值