`
lxy2330
  • 浏览: 459801 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDK内置工具使用(转)

 
阅读更多

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)

 

JMAP

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

分享到:
评论

相关推荐

    java—JDK内置工具使用技巧详解

    这里对JDK的调试工具做大致的概念性的介绍,然后希望通过介绍我自己在实际工作中使用这些工具解决问题的实例来让大家对这些工具有更深入的了解。

    takumiCX#technology-talk#JDK内置工具补充1

    JDK内置工具补充1.查看正在运行的JVM的参数返回结果:

    JDK 内置实用工具:监视、故障排除.pdf

    JDK 内置实用工具:监视、故障排除

    Java JDK6开发工具

    JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar).不论什么Java应用服务器实质都是内置了某个版本的JDK. 因此掌握 JDK是学好Java的第一步.最主流的JDK是Sun...

    学习使用jdk1.7中内置数据库Derby(一)

    NULL 博文链接:https://128kj.iteye.com/blog/1725848

    jdk1.6 windows 64位

    组成 JDK包含的基本组件包括: ·javac – 编译器,将源程序转成字节码 ·jar – 打包工具,将相关的类文件打包成一个文件 ·javadoc – 文档生成器,从源码注释中提取文档 ·jdb – debugger,查错工具 ·java –...

    JDK 1.8.0_25 64位 官方正式版下载

    JDK 1.8.0_25 64位 官方正式版下载 JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK. 因此掌握...

    jdk1.6全版本

    自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。 JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java...

    jdk 1.7 32位 官方版本

    JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.  因此掌握 JDK是学好Java的第一步。最主流...

    jdk1.8 64位

    JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.  因此掌握 JDK是学好Java的第一步。最主流...

    JDK1.5(jdk-1_5_0-windows-i586)

    不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握 JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的...

    jdk1.8 64位 官方正式版

    JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK. 因此掌握 JDK是学好Java的第一步。最主流的...

    jdk 1.8 for windows 32位

    JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK. 因此掌握 JDK是学好Java的第一步。最主流的...

    jdk-8u144-windows-x64_8.0.1440.1

    JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.  因此掌握 JDK是学好Java的第一步。最主流...

    jdk-7u80-windows-x64

    JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.  因此掌握 JDK是学好Java的第一步。最主流...

    jdk1.8 64位 官方正式版下载

    JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.  因此掌握 JDK是学好Java的第一步。最主流...

    Windows 64位系统JDK1.6,1.7

    自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。 JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java...

    jdk-12.0.1_windows_x64_Linux_x64.rar

    不论什么Java应用服务器实质都是内置了某个版本的JDK. 因此掌握 JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,...

    jdk-7u80-windows-x64.exe.zip

    JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.  因此掌握 JDK是学好Java的第一步。最主流...

Global site tag (gtag.js) - Google Analytics