Java常用命令
2016-12-21 15:48
399 查看
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
看到了么,这货有点太
4000
强大了,必须要使用。
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转义”之间的相互转换。参考文章
相关文章推荐
- Java Web Start学习,与JDK中keytool常用命令
- 编译java程序的常用命令
- java工程在LINUX常用命令
- java程序员菜鸟进阶(三)oracle基础详解(三)常用的SQL PLUS命令详解
- java程序员菜鸟进阶(三)oracle基础详解(三)常用的SQL PLUS命令详解
- Java常用的一些批处理命令- -
- java keytool 常用命令
- java工程在LINUX常用命令
- java工程在LINUX常用命令
- Java学习笔记24:Mvn常用命令
- 常用Java命令
- Linux Java Web开发菜鸟级常用命令
- Oracle常用命令14(.net / java代码调用(sql代码、程序包过程))
- java工程在LINUX常用命令
- java常用的命令
- Java开发应掌握的Linux常用命令
- ubuntu下面自由切换java版本的命令以及其它常用功能
- 关于常用的javac,java命令
- linux 下常用用的java相关命令
- 《黑马程序员》java笔记->【01】常用DOS命令