jstat结合 jvisualvm.exe(java自带内存分析工具)分析内存泄漏实例
发布日期:2021-07-20 20:53:18 浏览次数:63 分类:技术文章

本文共 15765 字,大约阅读时间需要 52 分钟。

jstat是jdk自带的可以查看堆内存使用量及GC情况的指令.

具体情况请看另一篇博客: 

 jvisualvm.exe是java的jvm内存/线程监视工具, 位于jdk--bin目录下

以下通过一则简单的内存泄漏案例结合使用两个工具.

内存泄漏代码:

class Key{        Integer id;        Key(Integer id){            this.id = id;        }        public int hashCode(){            return id.hashCode();        }    }    public void method(){        ......        boolean ss = true;		Map
map = new HashMap
(); while(ss){ for(int i = 0; i< 100000; i++){ if(!map.containsKey(new Key(i))){ map.put(new Key(i), "Number:" + i); } } //Thread.sleep(1000L); } ...... }

jvisualvm.exe截图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图中时间点16:07:30进入内存泄漏方法

绿色箭头, 接近堆内存使用峰值.

红色箭头, 宕机

蓝色箭头, 恢复

S0C      S1C      S0U      S1U      EC       EU        OC         OU        PC       PU         YGC    YGCT   FGC     FGCT     GCT8704.0   8704.0   2520.3    0.0     69952.0  44990.8   174784.0   116411.3  61696.0  61600.4    203    1.352  17      4.381    5.7338704.0   8704.0   2520.3    0.0     69952.0  45200.2   174784.0   116411.3  61696.0  61600.4    203    1.352  17      4.381    5.7338704.0   8704.0   2520.3    0.0     69952.0  45408.2   174784.0   116411.3  61696.0  61600.7    203    1.352  17      4.381    5.7338704.0   8704.0   2520.3    0.0     69952.0  45616.6   174784.0   116411.3  61696.0  61600.7    203    1.352  17      4.381    5.7338704.0   8704.0   2520.3    0.0     69952.0  65486.6   174784.0   116411.3  61952.0  61700.4    203    1.352  17      4.381    5.7338704.0   8704.0    0.0     6224.6   69952.0  34025.9   174784.0   116411.3  61952.0  61940.6    204    1.370  17      4.381    5.7518704.0   8704.0    0.0     6224.6   69952.0  37953.5   174784.0   116411.3  62208.0  62144.6    204    1.370  17      4.381    5.7518704.0   8704.0    0.0     6224.6   69952.0  39470.7   174784.0   116411.3  62208.0  62188.6    204    1.370  17      4.381    5.7518704.0   8704.0    0.0     6224.6   69952.0  41256.0   174784.0   116411.3  62208.0  62207.5    204    1.370  18      4.381    5.7518704.0   8704.0    0.0      0.0     69952.0   7639.7   174784.0   122571.6  62976.0  62918.8    204    1.370  18      4.879    6.2498704.0   8704.0    0.0      0.0     69952.0   7895.4   174784.0   122571.6  62976.0  62918.8    204    1.370  18      4.879    6.2498704.0   8704.0    0.0      0.0     69952.0   8120.1   174784.0   122571.6  62976.0  62918.8    204    1.370  18      4.879    6.2498704.0   8704.0    0.0      0.0     69952.0   8375.8   174784.0   122571.6  62976.0  62918.9    204    1.370  18      4.879    6.2498704.0   8704.0    0.0      0.0     69952.0   8542.6   174784.0   122571.6  62976.0  62919.7    204    1.370  18      4.879    6.2498704.0   8704.0   8704.0   8704.0   69952.0  69952.0   174784.0   174784.0  64000.0  63867.6    206    1.740  19      4.879    6.6198704.0   8704.0    0.0     5090.2   69952.0  69952.0   174784.0   174784.0  64000.0  63868.5    206    1.740  20      5.562    7.3028704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63575.6    206    1.740  21      6.481    8.2218704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63576.6    206    1.740  22      7.288    9.0288704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63577.6    206    1.740  23      8.106    9.8468704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63577.6    206    1.740  24      8.883   10.6238704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63550.3    206    1.740  25      9.860   11.6008704.0   8704.0    0.0     8703.9   69952.0  69952.0   174784.0   174784.0  63744.0  63551.5    206    1.740  26     10.659   12.3988704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63551.5    206    1.740  27     11.451   13.1918704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63551.5    206    1.740  28     12.267   14.0078704.0   8704.0    0.0     8460.2   69952.0  69952.0   174784.0   174784.0  63744.0  63547.9    206    1.740  30     14.022   15.7628704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63547.9    206    1.740  31     14.818   16.5588704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63550.1    206    1.740  32     15.626   17.3668704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63550.1    206    1.740  33     16.599   18.3398704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63550.1    206    1.740  34     17.380   19.1208704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63550.1    206    1.740  36     18.943   20.6838704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  37     19.831   21.5718704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  38     20.606   22.3468704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  39     21.383   23.1238704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  41     22.966   24.7068704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  42     23.738   25.4788704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  43     24.517   26.2578704.0   8704.0    0.0     8703.9   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  44     25.293   27.0338704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  45     26.176   27.9158704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  47     27.780   29.5208704.0   8704.0    0.0     8703.9   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  48     28.583   30.3238704.0   8704.0    0.0     8703.9   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  49     29.371   31.1118704.0   8704.0    0.0     8703.9   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  50     30.190   31.9308704.0   8704.0    0.0     8703.9   69952.0  69952.0   174784.0   174784.0  63744.0  63549.9    206    1.740  51     31.189   32.9298704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63472.8    206    1.740  52     31.997   33.7378704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63488.0  63482.2    206    1.740  54     33.806   35.5468704.0   8704.0    0.0     8703.7   69952.0  69952.0   174784.0   174784.0  63488.0  63484.4    206    1.740  55     34.589   36.3298704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63488.0  63487.7    206    1.740  56     35.375   37.1148704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63488.0  63487.5    206    1.740  57     36.283   38.0238704.0   8704.0    0.0     8704.0   69952.0  69952.0   174784.0   174784.0  63744.0  63490.9    206    1.740  58     37.056   38.7968704.0   8704.0    0.0      6.8     69952.0   1400.4   174784.0   111915.3  63744.0  63521.6    208    1.744  59     38.400   40.1448704.0   8704.0   107.9     0.0     69952.0  64537.2   174784.0   111915.3  63744.0  63540.5    209    1.746  59     38.400   40.1478704.0   8704.0   107.9     0.0     69952.0  64754.1   174784.0   111915.3  63744.0  63542.5    209    1.746  59     38.400   40.1478704.0   8704.0   107.9     0.0     69952.0  64971.6   174784.0   111915.3  63744.0  63542.5    209    1.746  59     38.400   40.1478704.0   8704.0   107.9     0.0     69952.0  65191.5   174784.0   111915.3  63744.0  63542.6    209    1.746  59     38.400   40.1478704.0   8704.0   107.9     0.0     69952.0  65494.9   174784.0   111915.3  63744.0  63543.9    209    1.746  59     38.400   40.1478704.0   8704.0   107.9     0.0     69952.0  69952.0   174784.0   111915.3  63744.0  63545.1    209    1.746  59     38.400   40.1478704.0   8704.0    0.0     155.1    69952.0   307.5    174784.0   111915.3  63744.0  63545.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   457.2    174784.0   111915.3  63744.0  63545.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   761.1    174784.0   111915.3  63744.0  63545.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   912.8    174784.0   111915.3  63744.0  63545.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   1216.3   174784.0   111915.3  63744.0  63545.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   1368.0   174784.0   111915.3  63744.0  63545.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   1669.4   174784.0   111915.3  63744.0  63545.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   1825.3   174784.0   111915.3  63744.0  63547.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   2179.4   174784.0   111915.3  63744.0  63547.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   2333.9   174784.0   111915.3  63744.0  63547.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   2487.6   174784.0   111915.3  63744.0  63547.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   2786.9   174784.0   111915.3  63744.0  63547.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   2942.6   174784.0   111915.3  63744.0  63547.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0   3239.9   174784.0   111915.3  63744.0  63547.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0  25764.5   174784.0   111915.3  63744.0  63547.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0  26066.4   174784.0   111915.3  63744.0  63547.1    210    1.748  59     38.400   40.1498704.0   8704.0    0.0     155.1    69952.0  26222.5   174784.0   111915.3  63744.0  63547.1    210    1.748  59     38.400   40.1498704.0   8704.0   198.3     0.0     69952.0   249.7    174784.0   111915.3  63744.0  63547.1    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0   415.4    174784.0   111915.3  63744.0  63547.1    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  19151.7   174784.0   111915.3  63744.0  63555.4    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  25719.0   174784.0   111915.3  63744.0  63594.3    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  30240.2   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  30494.3   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  30753.0   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  30879.9   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  31133.8   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  31387.1   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  31520.4   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  31768.1   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  32027.5   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  32154.4   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  32408.6   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  32671.6   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  32948.1   174784.0   111915.3  63744.0  63630.6    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  33200.2   174784.0   111915.3  63744.0  63630.7    211    1.751  59     38.400   40.1518704.0   8704.0   198.3     0.0     69952.0  33457.5   174784.0   111915.3  63744.0  63630.7    211    1.751  59     38.400   40.151

可以看出从第19次Full GC开始Eden区和 老年代(Old Generation)的 总大小和使用大小相等, 即GC无法再回收掉内存, 也就无法分配空间给新对象. 抛出异常 java.lang.OutOfMemoryError: Java heap space

Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: Java heap space	at java.util.Arrays.copyOf(Arrays.java:2882)	at java.lang.StringValue.from(StringValue.java:24)	at java.lang.String.
(String.java:178) at java.io.Win32FileSystem.resolve(Win32FileSystem.java:241) at java.io.File.
(File.java:312) at org.apache.naming.resources.FileDirContext.file(FileDirContext.java:770) at org.apache.naming.resources.FileDirContext.doGetAttributes(FileDirContext.java:398) at org.apache.naming.resources.BaseDirContext.getAttributes(BaseDirContext.java:1163) at org.apache.naming.resources.BaseDirContext.getAttributes(BaseDirContext.java:1116) at org.apache.naming.resources.ProxyDirContext.getAttributes(ProxyDirContext.java:882) at org.apache.catalina.loader.WebappClassLoaderBase.modified(WebappClassLoaderBase.java:1185) at org.apache.catalina.loader.WebappLoader.modified(WebappLoader.java:500) at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:420) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1341) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1542) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1552) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1552) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1520) at java.lang.Thread.run(Thread.java:662)Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: Java heap space at java.io.ObjectInputStream$BlockDataInputStream.
(ObjectInputStream.java:2352) at java.io.ObjectInputStream.
(ObjectInputStream.java:274) at sun.rmi.server.MarshalInputStream.
(MarshalInputStream.java:111) at sun.rmi.transport.ConnectionInputStream.
(ConnectionInputStream.java:38) at sun.rmi.transport.StreamRemoteCall.getInputStream(StreamRemoteCall.java:115) at sun.rmi.transport.Transport.serviceCall(Transport.java:124) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662)

 

 

 

转载地址:https://blog.csdn.net/liao0801_123/article/details/82911413 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:hibernate saveOrUpdate方法和merge的区别
下一篇:jstat命令详解

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月23日 17时29分04秒