Java的jmap命令使用详解

jmap命令简介

jmap(Java Virtual Machine Memory Map)是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具。

以外,jmap命令还可以查看finalize执行队列、Java堆和方法区的详细信息,比如空间使用率、当前使用的什么垃圾回收器、分代情况等等。

jmap命令和jinfo命令一样,在Windows系统上使用还是有一些限制的。在没有dbgeng.dll的Windows系统中,必须安装用于Windows的调试工具才能使jinfo命令正常工作,PATH环境变量应该包含jvm.dll的位置。


jmap命令参数

命令语法:

jmap [options] pid

命令参数说明:

  • option:jmap命令的可选参数。如果没有指定这个参数,jinfo命令会显示Java虚拟机进程的内存映像信息,如下图:

  • pid:要打印配置信息的Java虚拟机的进程ID。

想要要获取运行的Java虚拟机进程的列表,可以使用ps命令(Linux系统中)或tasklist命令(Windows系统中),如果Java虚拟机进程没有在单独的docker实例中运行,可以使用jps命令。

option都有哪些参数呢?我们来看一下。


-heap

jmap -heap [PID]

显示Java堆的如下信息:

  • 被指定的垃圾回收算法的信息,包括垃圾回收算法的名称和垃圾回收算法的详细信息。
  • 堆的配置信息,可能是由命令行选项指定,或者由Java虚拟机根据服务器配置选择的。
  • 堆的内存空间使用信息,包括分代情况,每个代的总容量、已使用内存、可使用内存。如果某一代被继续细分(例如,年轻代),则包含细分的空间的内存使用信息。


-histo

-histo[:live]

显示Java堆中对象的统计信息,包括:对象数量、占用内存大小(单位:字节)和类的完全限定名。比如:

要获得某个对象的大小,可以将其总大小除以该对象类型的数量。如果指定了live参数,则只计算活动的对象。比如:


-clstats

显示Java堆中元空间的类加载器的统计信息,包括:

  • class_loader:当Java虚拟机运行时,类加载器对象的地址
  • classes:已加载类的数量
  • bytes:该类加载器加载的所有类的元数据所占的字节数
  • parent_loader:父类加载器对象的地址,如果没有显示null。
  • alive:是否存活的标识,表示类加载器对象是否将被垃圾回收。
  • type:该类加载器的类名。

比如:


-finalizerinfo

显示在F-Queue中等待Finalizer线程执行finalize方法的对象。比如:


-dump

-dump:[live,]format=b,file=<filename>

生成Java虚拟机的堆转储快照dump文件。具体说明如下:

  • live参数是可选的,如果指定,则只转储堆中的活动对象;如果没有指定,则转储堆中的所有对象。
  • format=b表示以hprof二进制格式转储Java堆的内存。
  • file=<filename>用于指定快照dump文件的文件名。

比如:


-F

jmap -F -histo [PID]

强制模式。如果指定的pid没有响应,可以配合-dump或-histo一起使用。此模式下,不支持live参数。比如:


-h 和 -help

显示jinfo命令的帮助信息。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/804722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elastic:5 个原因解释为什么可观察性和安全性能够很好地协同工作

作者&#xff1a;来自 Elastic Jennifer Ellard, Gagan Singh 网站可靠性工程师&#xff08;site reliability engineers - SREs&#xff09;和安全分析师 (security analysts) —— 尽管担任着非常不同的角色 —— 分享了许多相同的目标。他们都采用主动监控和事件响应策略来识…

【随笔】Git 高级篇 -- 撤销变更 reset | revert(十四)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

Cuda编程-NPP库

Cuda编程先前有过研究&#xff0c;现在记录下Cuda相关的库使用 目录 0.参考文档1.NPP简介1.1 头文件1.2 库文件1.3 编译时链接关系1.4 NPP函数的命名方式1.5 General Conventions 一般约定1.6 Image Processing Conventions 图像处理约定 2.举例&#xff1a;NPP实现YUV转BGR2.1…

基于Android的记单词App系统的设计与实现

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

【服务器部署篇】Linux下安装Docker容器

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

SqlServer占用CPU过高情况排查

一、问题描述 反馈SQLServer中出现CPU使用率过高有许多可能原因&#xff0c;但常见的原因如下最为常见&#xff1a; 由于以下情况&#xff0c;表或索引扫描导致的高逻辑读取&#xff1a; 过期统计信息缺少索引设计不佳的查询工作负载增加 针对此类问题&#xff0c;微软有一套…

数据恢复软件能不能恢复已经删除的监控视频

随着安防意识的日益增强&#xff0c;监控视频已成为众多场所不可或缺的安全保障。然而&#xff0c;由于各种原因&#xff0c;我们可能会不小心删除了一些重要的监控视频。面对这种情况&#xff0c;许多人都会想到使用数据恢复软件来尝试找回这些丢失的视频。那么&#xff0c;数…

堆放砖块-第12届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第47讲。 堆放砖块&#xf…

Redis 常用的基本命令

&#x1f525;博客主页&#xff1a;fly in the sky - CSDN博客 &#x1f680;欢迎各位&#xff1a;点赞&#x1f44d;收藏⭐️留言✍️&#x1f680; &#x1f386;慢品人间烟火色,闲观万事岁月长&#x1f386; &#x1f4d6;希望我写的博客对你有所帮助,如有不足,请指正&#…

群联AI云防护中的防盗链技术原理及其作用探析---

一、引言 随着云计算和AI技术的快速发展&#xff0c;云防护方案已经成为现代企业防范网络攻击和保护数字资产的重要手段之一。群联科技作为存储解决方案和技术服务的领导者&#xff0c;已将其AI技术应用于云端防护系统中&#xff0c;并特别强化了防盗链功能&#xff0c;以帮助…

MQTT协议特点及数据包结构详解(值得珍藏)

点击下载《MQTT协议特点及数据包结构详解(值得珍藏)》 1. 前言 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。 MQTT最大优点在…

SVD图像处理(MATLAB)

使用SVD处理图像模拟演示 参考文献 https://github.com/matzewolf/Image_compression_SVD/blob/master/svd_compress.m MATLAB代码 clc; clearvars; close all;A_orgimread("lena256.bmp"); compr20; A_orgdouble(A_org);A_red svd_compress( A_org, compr ); s…

yolov7的改进工地安全帽佩戴检测系统-协同双注意力机制CDAM2(教程+代码)

研究的背景和意义 随着工业化和城市化的快速发展&#xff0c;建筑工地的安全问题日益凸显。在建筑工地中&#xff0c;工人的安全是至关重要的&#xff0c;而工地安全帽的佩戴是保障工人安全的重要措施之一。然而&#xff0c;由于工地环境复杂多变&#xff0c;工人的佩戴情况往…

为什么企业都用企微文档?真的好用吗?

现在很多企业都在使用企微文档&#xff0c;还没开始使用的企业难免会产生疑惑&#xff0c;企微文档真的好用吗&#xff1f;其实企业选择使用企微文档的原因有很多&#xff0c;主要的原因是企微文档能够满足企业在文件管理和协作方面的多种需求&#xff0c;从而提高办公效率。 下…

未来客服行业的趋势与展望:构建更高效、个性化的客户体验

客服行业是商业领域中的重要组成部分&#xff0c;它直接影响着企业的品牌形象和客户满意度。随着科技的飞速发展&#xff0c;客服行业也正在经历深刻的变革。今天将描绘未来客服行业的发展趋势&#xff0c;帮助我们更好地理解这个行业的未来走向。 1. 人工智能和机器学习的广泛…

汽车充电桩主板在出厂前需要做哪些检测?

充电桩主板作为核心组件承载着充电桩的关键功能&#xff0c;其性能和稳定性直接影响着用户充电体验、桩企产品合规和市场竞争力&#xff0c;以及主板厂商的品牌知名度。因此&#xff0c;对充电桩主板进行全面的测试尤为重要。 下面将详细介绍充电桩主板检测的内容&#xff0c;包…

信息素养与终身学习解锁题目搜索之道的新引擎【文末送书】

文章目录 信息素养&#xff1a;搜索前的准备终身学习&#xff1a;搜索后的深化新引擎的构建与运行 搜索之道&#xff1a;信息素养与终身学习的新引擎【文末送书】 随着互联网的快速发展和信息技术的日益成熟&#xff0c;搜索已经成为获取知识和信息的主要途径之一。然而&#x…

STM32CubeIDE基础学习-舵机控制实验

STM32CubeIDE基础学习-舵机控制实验 文章目录 STM32CubeIDE基础学习-舵机控制实验前言第1章 硬件介绍第2章 工程配置2.1 基础工程配置部分2.2 生成工程代码部分 第3章 代码编写第4章 实验现象总结 前言 SG90、MG996舵机在机器人领域用得非常多&#xff0c;因为舵机有内置控制电…

基于51单片机的数字时钟与日历显示控制设计

**单片机设计介绍&#xff0c; 基于51单片机的数字时钟与日历显示控制设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的数字时钟与日历显示控制设计是一个结合了硬件与软件技术的综合性项目。以下是该设计的概要…

SpringBoot中application.yml引入多个YML文件

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 首先,你要了解SpringBoot配置文件加载顺序,加载位置(代码内,Nacos等)…