...
常用的工具有:jvisualvm, threadanalyzer。
1.JMAP
Jmap命令用于生成堆转储快照,有时候也成为heapdump或者dump文件。
...
可以看到 C:\test 生成了test_Test.h 。
附JNI原理
4.jps
用来查看基于HotSpot的JVM里面中,所有具有访问权限的Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似和windows中的tasklist类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。
...
-XX:+PrintGC |
|
| 输出形式: |
-XX:+PrintGCDetails |
|
| 输出形式:[GC [DefNew: 8614K->781K(9088K), 0.0123035 secs] 118250K->113543K(130112K), 0.0124633 secs][GC [DefNew: 8614K->8614K(9088K), 0.0000665 secs][Tenured: 112761K->10414K(121024K), 0.0433488 secs] 121376K->10414K(130112K), 0.0436268 secs] |
-XX:+PrintGCTimeStamps |
|
|
|
-XX:+PrintGC:PrintGCTimeStamps |
|
| 可与-XX:+PrintGC XX:+PrintGCDetails混合使用输出形式:11.851: [GC 98328K>93620K(130112K), 0.0082960 secs] |
-XX:+PrintGCApplicationStoppedTime | 打印垃圾回收期间程序暂停的时间.可与上面混合使用 |
| 输出形式:Total time for which application threads were stopped: 0.0468229 seconds |
-XX:+PrintGCApplicationConcurrentTime | 打印每次垃圾回收前,程序未中断的执行时间.可与上面混合使用 |
| 输出形式:Application time: 0.5291524 seconds |
-XX:+PrintHeapAtGC | 打印GC前后的详细堆栈信息 |
|
|
-Xloggc:filename | 把相关日志信息记录到文件以便分析.与上面几个配合使用 |
|
|
-XX:+PrintClassHistogram | garbage collects before printing the histogram. |
|
|
-XX:+PrintTLAB | 查看TLAB空间的使用情况 |
|
|
XX:+PrintTenuringDistribution | 查看每次minor GC后新的存活周期的阈值 |
| Desired survivor size 1048576 bytes, new threshold 7 (max 15)new threshold 7即标识新的存活周期的阈值为7。 |
7.常用工具
JVisualVM
JVisualVM是集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。详细请见:JVisualVM。
...