性能测试工具引见
性能测试工具介绍简单的工具用java自带的HPROF Agent 介绍参见:http://hg.openjdk.java.net/jdk6/jdk6/jdk
性能测试工具介绍
- 简单的工具用java自带的HPROF Agent 介绍参见:http://hg.openjdk.java.net/jdk6/jdk6/jdk/raw-file/tip/src/share/demo/jvmti/hprof/manual.html
- 复杂的工具:Intel VTune Amplifier:http://software.intel.com/en-us/intel-vtune-amplifier-xe
java性能的一些常用的命令与注意点?
一、常见的命令
- 查看jvm内存的大致情况
- jstat -gctuil 1000 -h5 1000 1000
- 查看跑的比较忙线程:
- 看进程的线程信息,显示当前线程的一个cpu等利用率的情况:top -Hp 28340
- 查看线程栈:jstack 28340>temp 其中的线程号为16进制。?
- 转化为16机制:printf "%xn" 28353?
- 查看JVm中堆中对象的详细占用情况,输出的内容按照代销排序:
- 导出整个JVM的堆的简要信息:
- jmap -histo 12389 >maplist 或者?jmap -dump:live,format=b,file=heap.bin 32471
- JHat:分析工具,导出整个堆
- jhat -J-Xmx2028M [file] 直到出现 。。。再在浏览器中 打开http://ip:7000访问
- Mat:内存分析工具首先,此分析比较全面,直接到网站下载mat,再运行。File->open file(选在需要分析的文件),后分析 1g文件大致在4m左右。
- 添加jmx监控,添加到java ops中。
- ?-Djava.rmi.server.hostname=10.249.196.18?
?-Dprogram.name=longer?
?-Dcom.sun.management.jmxremote.port=9999
?-Dcom.sun.management.jmxremote.authenticate=false
?-Dcom.sun.management.jmxremote.ssl=false
二、注意点
- 如果堆比较大,可以缩小至1g左右分析,推的内容。
- 在linux下,可以开启jmx。在图形化环境下连接下去,用jvisualvm查看,比较直观。