zoukankan      html  css  js  c++  java
  • Java 分析工具汇总

    http://blog.csdn.net/fenglibing/article/details/6411999

    jps 

    jps -mlvV

    jmap

     jmap -heap <pid>  查看jvm内存设置和使用情况

    [root@datanode169 ~]# jmap -heap 29090
    Attaching to process ID 29090, please wait...
    Debugger attached successfully.
    Server compiler detected.
    JVM version is 24.76-b04
    
    using thread-local object allocation.
    Parallel GC with 8 thread(s)
    
    Heap Configuration:
       MinHeapFreeRatio = 0
       MaxHeapFreeRatio = 100
       MaxHeapSize      = 402653184 (384.0MB)
       NewSize          = 1310720 (1.25MB)
       MaxNewSize       = 17592186044415 MB
       OldSize          = 5439488 (5.1875MB)
       NewRatio         = 2
       SurvivorRatio    = 8
       PermSize         = 268435456 (256.0MB)
       MaxPermSize      = 268435456 (256.0MB)
       G1HeapRegionSize = 0 (0.0MB)
    
    Heap Usage:
    PS Young Generation
    Eden Space:
       capacity = 66060288 (63.0MB)
       used     = 50225360 (47.89863586425781MB)
       free     = 15834928 (15.101364135742188MB)
       76.02958073691717% used
    From Space:
       capacity = 5242880 (5.0MB)
       used     = 5235920 (4.9933624267578125MB)
       free     = 6960 (0.0066375732421875MB)
       99.86724853515625% used
    To Space:
       capacity = 5242880 (5.0MB)
       used     = 0 (0.0MB)
       free     = 5242880 (5.0MB)
       0.0% used
    PS Old Generation
       capacity = 85983232 (82.0MB)
       used     = 22836088 (21.77819061279297MB)
       free     = 63147144 (60.22180938720703MB)
       26.558769039991425% used
    PS Perm Generation
       capacity = 268435456 (256.0MB)
       used     = 12044040 (11.486091613769531MB)
       free     = 256391416 (244.51390838623047MB)
       4.486754536628723% used
    
    4893 interned Strings occupying 424080 bytes.
    [root@datanode169 ~]# 

    jmap -histo <pid>

    jmap -dump:live,format=b,file=szc.dump <pid>

    利用top 和 jstack 分析

    // 以线程3301 为例
    # top
    -n 1 -Hp 3301

    Tasks: 35 total, 0 running, 35 sleeping, 0 stopped, 0 zombie
    Cpu(s): 0.6%us, 0.2%sy, 0.0%ni, 98.1%id, 1.1%wa, 0.0%hi, 0.0%si, 0.0%st
    Mem: 8076704k total, 7929456k used, 147248k free, 117748k buffers
    Swap: 8190972k total, 17328k used, 8173644k free, 2669008k cached

    
    

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    3318 root 20 0 3312m 192m 10m S 2.0 2.4 0:02.24 java
    3301 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3302 root 20 0 3312m 192m 10m S 0.0 2.4 0:01.93 java
    3303 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.03 java
    3304 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
    3305 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
    3306 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
    3307 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
    3308 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
    3309 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
    3310 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
    3311 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.12 java
    3312 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
    3313 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
    3314 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3315 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.34 java
    3316 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.36 java
    3317 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3319 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.03 java
    3329 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3330 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3353 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
    3432 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
    3433 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
    3434 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
    3435 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
    3436 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3437 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3438 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3439 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3440 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3441 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
    3442 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.04 java
    3443 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.05 java
    6106 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java

    # jstack -l 3301

      // 截取部分输出如下

    "Thread-6" prio=10 tid=0x00007f1ee05d1800 nid=0xd68 waiting on condition [0x00007f1ecafc4000]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)

    可以看出 0xd68 是 3432 的16进制

     1. 不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, dump信息也有差别。本文中,只以 SUN的 hotspot JVM 5.0_06 为例。
    2. 在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生三次 dump信息,如果每次 dump都指向同一个问题,我们才确定问题的典型性。 

    参考 http://josh-persistence.iteye.com/blog/2161848?utm_source=tuicool&utm_medium=referral  

  • 相关阅读:
    SSH框架中使用注解和xml配置的区别
    web项目中log4j的配置
    嵌入式—ASCII码
    MATLAB
    MATLAB
    MATLAB
    MATLAB
    CentOS 7将网卡名称eno16777736改为eth0
    图像增强处理
    Debussy与modelsim联仿时 do 文件脚本
  • 原文地址:https://www.cnblogs.com/SamuelSun/p/5266522.html
Copyright © 2011-2022 走看看