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

jmap命令 Java Memory Map

 

JDK内置工具使用

一、javah命令(C Header and Stub File Generator)

二、jps命令(Java Virtual Machine Process Status Tool)

三、jstack命令(Java Stack Trace)

四、jstat命令(Java Virtual Machine Statistics Monitoring Tool)

五、jmap命令(Java Memory Map)

六、jinfo命令(Java Configuration Info)

七、jconsole命令(Java Monitoring and Management Console)

八、jvisualvm命令(Java Virtual Machine Monitoring, Troubleshooting, and Profiling Tool)

九、jhat命令(Java Heap Analyse Tool)

十、Jdb命令(The Java Debugger)

 

十一、Jstatd命令(Java Statistics Monitoring Daemon)


 

1、介绍

打印出某个java进程(使用pid)内存内的,所有对象的情况(如:产生那些对象,及其数量)。

 

可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用SHELL jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。jmap -dump:format=b,file=outfile 3024可以将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具(Memory Analysis Tool),使用参见:http://blog.csdn.net/fenglibing/archive/2011/04/02/6298326.aspx)或与jhat (Java Heap Analysis Tool)一起使用,能够以图像的形式直观的展示当前内存是否有问题。

64位机上使用需要使用如下方式:

jmap -J-d64 -heap pid

2、命令格式

SYNOPSIS

       jmap [ option ] pid

       jmap [ option ] executable core

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

3、参数说明

1)options 

executable Java executable from which the core dump was produced.

(可能是产生core dumpjava可执行程序)

core 将被打印信息的core dump文件

remote-hostname-or-IP 远程debug服务的主机名或ip

server-id 唯一id,假如一台主机上多个远程debug服务 

2)、基本参数:

-dump:[live,]format=b,file=<filename> 使用hprof二进制形式,输出jvmheap内容到文件=. live子选项是可选的,假如指定live选项,那么只输出活的对象到文件

-finalizerinfo 打印正等候回收的对象的信息.

-heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况.

-histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*如果live子参数加上后,只统计活的对象数量

-permstat 打印classloadjvm heap长久层的信息包含每个classloader的名字,活泼性,地址,classloader和加载的class数量另外,内部String的数量和占用内存数也会打印出来

-F 强迫.pid没有相应的时候使用-dump或者-histo参数在这个模式下,live子参数无效

-h | -help 打印辅助信息 

-J 传递参数给jmap启动的jvm. 

pid 需要被打印配相信息的java进程id,创业与打工的区别 博文预览,可以用jps查问.

4、使用示例

1)[fenglb@ccbu-156-5 ~]$ jmap -histo 4939

[输出较多这里不贴了]

2)[fenglb@ccbu-156-5 ~]$ jmap -dump:format=b,file=test.bin 4939

Dumping heap to /home/fenglb/test.bin ...

Heap dump file created

 

 

本文出自:冯立彬的博客

 

 


再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

转载于:https://www.cnblogs.com/skiwdhwhssh/p/10295473.html

相关文章:

  • 服务器从安装到部署全过程(二)
  • 对APP单例的统一封装(常规式)
  • 优化关键渲染路径
  • TiDB 3.0 Beta Release Notes
  • 台湾屏东县一肉鸭场检验出禽流感 扑杀6510只肉鸭
  • 山西球迷大范围辱骂裁判被CBA公司罚款2万元
  • 从前后端分离到GraphQL,携程如何用Node实现?\n
  • Python数据结构和算法学习笔记1
  • 北京因地制宜编制村庄规划 着重体现京韵农味
  • TCPIP网络协议层对应的RFC文档
  • 英格兰功勋老将或赛季后退役:身体已吃不消
  • android 7.0 调用系统相机崩溃的解决方案(非谷歌官方推荐)
  • Spring boot 集成Spring Security
  • Java 异常表与异常处理原理
  • 中国最高法、全国工商联联合发文促商会调解发挥作用
  • 0基础学习移动端适配
  • Fabric架构演变之路
  • IDEA 插件开发入门教程
  • java8-模拟hadoop
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Sublime text 3 3103 注册码
  • 给Prometheus造假数据的方法
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 如何设计一个比特币钱包服务
  • 使用docker-compose进行多节点部署
  • 探索 JS 中的模块化
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 学习笔记TF060:图像语音结合,看图说话
  • 移动端解决方案学习记录
  • 赢得Docker挑战最佳实践
  • 终端用户监控:真实用户监控还是模拟监控?
  • 7行Python代码的人脸识别
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 进程与线程(三)——进程/线程间通信
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • (07)Hive——窗口函数详解
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (论文阅读40-45)图像描述1
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)ORM
  • (转)visual stdio 书签功能介绍
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET 命令行参数包含应用程序路径吗?
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET/C# 的字符串暂存池
  • .NET基础篇——反射的奥妙
  • /etc/sudoer文件配置简析