zoukankan      html  css  js  c++  java
  • java内存泄露分析定位

      线上服务模块CPU和RAM内存都出现了异常,记录一下自己的分析过程:

         1.确定线上环境os是linux-debian9.3

         2.确定web容器采用的是jetty9.4版本

         3.先用top分析当前系统内存和cpu的占用情况

            先查看下是否有缓存占用了物理内存

       

    输入指令: free -h
                  total        used        free      shared  buff/cache   available
    Mem:            11G         10G        168M        510M        926M        316M
    Swap:          7.9G        502M        7.4G

           1)先top,然后m切换内存使用情况图表

    top - 11:31:03 up 2 days, 14:51,  2 users,  load average: 21.71, 20.58, 19.47
    Tasks: 161 total,   1 running, 160 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 25.6 us, 43.3 sy,  0.0 ni, 31.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem : 91.5/16305244 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||        ]
    KiB Swap:  0.0/16777212 [                                                                                                    ]
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                        
     5295 root      20   0 9937420 878068  18684 S 128.0  5.4  52:31.03 java                                                                                                                                           
     5512 root      20   0 9778.5m 887436  17816 S 128.0  5.4   4505:13 java                                                                                                                                           
     4261 root      20   0 9994704 1.513g  18272 S 127.7  9.7   4512:04 java                                                                                                                                           
     3326 root      20   0 9831.6m 1.540g  18244 S 118.7  9.9   4501:25 java                                                                                                                                           
     3751 root      20   0 9851.2m 1.087g  18532 S   0.7  7.0  23:09.35 java                                                                                                                                           
     5740 root      20   0 8865332 740708  17792 S   0.3  4.5   3:08.60 java                                                                                                                                           
    14968 root      20   0   44948   3748   3080 R   0.3  0.0   0:00.07 top                                                                                                                                            
        1 root      20   0  204376   5740   4348 S   0.0  0.0   0:03.93 systemd                                                                                                                                        
        2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd                                                                                                                                       
        3 root      20   0       0      0      0 S   0.0  0.0   0:00.58 ksoftirqd/0                                                                                                                                    
        5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                                                                                   
        7 root      20   0       0      0      0 S   0.0  0.0   1:19.28 rcu_sched                                                                                                                                      
        8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                                                                                                                         
        9 root      rt   0       0      0      0 S   0.0  0.0   0:00.10 migration/0                                                                                                                                    
       10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain                                                                                                                                  
       11 root      rt   0       0      0      0 S   0.0  0.0   0:00.26 watchdog/0                                                                                                                                     
       12 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/0                                                                                                                                        
       13 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/1                                                                                                                                        
       14 root      rt   0       0      0      0 S   0.0  0.0   0:00.22 watchdog/1                                                                                                                                     
       15 root      rt   0       0      0      0 S   0.0  0.0   0:00.09 migration/1                                                                                                                                    
       16 root      20   0       0      0      0 S   0.0  0.0   0:00.51 ksoftirqd/1                                                                                                                                    
       18 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H                                                                                                                                   
       19 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/2                                                                                                                                        
       20 root      rt   0       0      0      0 S   0.0  0.0   0:00.21 watchdog/2                                                                                                                                     
       21 root      rt   0       0      0      0 S   0.0  0.0   0:00.08 migration/2                                                                                                                                    
       22 root      20   0       0      0      0 S   0.0  0.0   0:00.50 ksoftirqd/2                                                                                                                                    
       24 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/2:0H                                                                                                                                   
       25 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/3                                                                                                                                        
       26 root      rt   0       0      0      0 S   0.0  0.0   0:00.20 watchdog/3                                                                                                                                     
       27 root      rt   0       0      0      0 S   0.0  0.0   0:00.09 migration/3                                                                                                                                    
       28 root      20   0       0      0      0 S   0.0  0.0   0:00.51 ksoftirqd/3                                                                                                                                    
       30 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/3:0H                                                                                                                                   
       31 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/4                                                                                                                                        
       32 root      rt   0       0      0      0 S   0.0  0.0   0:00.21 watchdog/4                                                                                                                                     
       33 root      rt   0       0      0      0 S   0.0  0.0   0:00.10 migration/4                                                                                                                                    
       34 root      20   0       0      0      0 S   0.0  0.0   0:00.38 ksoftirqd/4                                                                                                                                    
       36 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/4:0H                                                                                                                                   
       37 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/5                                                                                                                                        
       38 root      rt   0       0      0      0 S   0.0  0.0   0:00.20 watchdog/5                                                                                                                                     
       39 root      rt   0       0      0      0 S   0.0  0.0   0:00.10 migration/5                                                                                                                                    
       40 root      20   0       0      0      0 S   0.0  0.0   0:00.35 ksoftirqd/5                                                                                                                                    
       42 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/5:0H                                                                                                                                   
       43 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/6                                                                                                                                        
       44 root      rt   0       0      0      0 S   0.0  0.0   0:00.20 watchdog/6                                                                                                                                     
       45 root      rt   0       0      0      0 S   0.0  0.0   0:00.10 migration/6                                                                                                                                    
       46 root      20   0       0      0      0 S   0.0  0.0   0:00.40 ksoftirqd/6   

    4.分析最占内存的web服务

     1)top 然后在输入大写M自动根据内存的大小排序

     2)top 然后在输入大写P自动根据CPU使用的情况排序


    5.查询到进程信息后,获取到当前的进程PID

      

     4261 root      20   0 9994704 1.513g  18272 S 127.7  9.7   4512:04 java                                                                                                                                           

    6.根据PID查询到WEB服务对应的端口信息,然后就知道了4261对应的web服务端口为9180

      命令:

    输入指令:netstat -ntlp;
    tcp        0      0 0.0.0.0:9180            0.0.0.0:*               LISTEN      4261/java   

    7.然后通过java自带的工具来导出pid对应的dump文件信息  

    输入指令:
    jmap -dump:format=b,file=/home/ifaces/9180.dump 4261

    8.将文件下载到本地分析,我使用的是debian开发环境,所以直接用sftp来下载文件:
     

    输入指令:
    sftp root@xxx.123.xxx.150
    输入密匙进入

    9.将生成的dump下载到本地

    sftp> get /home/ifaces/9180 /work/dump

    10.然后在控制台输入 jvisualvm调用java自带的dump分析工具来分析dump的文件内容信息

    输入指令:/workbench/visualvm_141/bin$ ./visualvm

    11.利用jvisualvm就可以看到堆的信息了

     

  • 相关阅读:
    OA权限管理的实现(下)
    Eclipse及其插件介绍和下载(转)
    [转载]在Redhat Linux AS 4下实现软件RAID
    RAID磁盘阵列术语详解(转)
    [转载]关于"编译器失败,错误代码为128。"的解决方案
    Android的SurfaceView使用
    剖析 SurfaceView Callback以及SurfaceHolder
    android drawable 应用
    Android layout xml总结
    listView控件,adapter,以及其他控件的组合
  • 原文地址:https://www.cnblogs.com/light-zhang/p/9504747.html
Copyright © 2011-2022 走看看