Java常用命令

jmap

将堆内存取下来,用来分析。

jmap -F -dump:live,format=b,file=12044.bin 12044

注:Windows下出现如下这个错误。
Attaching to process ID 12044, please wait…
Error attaching to process: Windbg Error: GetModuleParameters failed!
主要原因就是Path的JDK版本是32位的,但是系统确是64位的。

jhat

分析堆内存文件,这仅仅是一个工具,有很多更好用的堆内存分析工具。
如:IBM HeapAnalyzer,Eclipse Memory Analyzer tool(MAT),JProfiler(非常好用,需要破解)
JDK自带了一个工具jvisualvm,这也是一个可视化工具,如果没有JProfiler可以使用这个。

jhat -J-mx768m -port 7000 12044.bin

通过http://localhost:7000/
就可以查看刚才dump下来JVM内存的状况。

jstack

输出当前进程中所有的线程信息,检查是否有死锁非常有效!

jstack -F 12044 >12044.stack

jconsole

启动JMX连接的客户端。
有UI可以连接本地或者远程的开启JMX的应用。

jcmd

多功能工具集,有一统java工具集的趋势。
jcmd -l 列出所有的JVM

输出结果

11600 sun.tools.jcmd.JCmd -l 6148 com.sun.tools.hat.Main -port 7000
12044.bin

jcmd 6148 hlep

输出结果

6148:
The following commands are available:
JFR.stop
JFR.start
JFR.dump
JFR.check
VM.native_memory
VM.check_commercial_features
VM.unlock_commercial_features
ManagementAgent.stop
ManagementAgent.start_local
ManagementAgent.start
GC.rotate_log
Thread.print
GC.class_stats
GC.class_histogram
GC.heap_dump
GC.run_finalization
GC.run
VM.uptime
VM.flags
VM.system_properties
VM.command_line
VM.version
help

For more information about a specific command use 'help <command>'.

查看虚拟机启动时间

VM.uptime

打印线程栈信息

Thread.print

查看系统中类统计信息

GC.class_histogram

导出堆信息

GC.heap_dump

获取系统Properties内容

VM.system_properties

获取启动参数

VM.flags

获取所有性能相关数据

PerfCounter.print

看到了么,这货有点太强大了,必须要使用。

jinfo

jinfo可以输出并修改运行时的java 进程的opts。
查看可以,但是修改总是提示该选项无法修改。

jstat

Jstat用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计,使用jstat我们可以对指定的JVM做如下监控:
- 类的加载及卸载情况
- 查看新生代、老生代及持久代的容量及使用情况
- 查看新生代、老生代及持久代的垃圾收集情况,包括垃圾回收的次数及垃圾回收所占用的时间
- 查看新生代中Eden区及Survior区中容量及分配情况等

jstatd启动的一个本地的服务,让远端的jstat可以连接过来,查看本地jvm的状况。

查看gc状况

jstat -gcutil pid N M

每隔N毫秒打印一条gc信息,总共打印M条。

native2ascii.exe

本地编码到ASCII编码的转换器(Native-to-ASCII Converter),用于”任意受支持的字符编码”和与之对应的”ASCII编码和(或)Unicode转义”之间的相互转换。

参考文章

内容文章地址
jstatdhttp://blog.csdn.net/fenglibing/article/details/17323515
jstathttp://blog.csdn.net/fenglibing/article/details/6411951
jcmdhttp://blog.csdn.net/winwill2012/article/details/46364849
详细的说明http://www.softown.cn/post/168.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值