Tomcat 8内存消耗分解

时间:2016-09-20 06:48:47

标签: java tomcat java-8 out-of-memory tomcat8

Tomcat:apache-tomcat-8.0.21
Java:1.8.0_91-b14

我们在tomcat中部署的战争很少。 Heap分钟和最大值设置为1GB。 MaxMetaspace设置为256MB。

从顶部和htop cmd,RES内存使用量为2244M。 除堆和元空间内存外,其余约为964MB。
2244M(RES mem) - 1024M(堆) - 256M(Metaspace)= 964M

此964MB内存包含什么?如何使用jdk工具验证相同内容?

当我们在webapp中删除所有应用程序并重新启动时,它甚至没有1MB RES内存使用。

截图:
使用Top unix cmd的Tomcat内存使用情况 Tomcat memory usage using Top unix cmd 来自gc log的元空间使用 metaspace usage from gc log

jvm标志 jvm flags

使用Htop unix cmd的Tomcat内存使用情况 Tomcat memory usage using Htop unix cmd

使用本机内存跟踪(在上述数据的不同时间拍摄)
以下是native memory cmd的输出。添加所有committed值并不总计RAM使用率(1825M或1.8gb)。

1693M  = Sum of all groups committed values(only committed on the first line of each group )

[root@iyc krishna]# sudo -u tomcat /opt/jdk1.8.0_91/bin/jcmd 22239 VM.native_memory summary
22239:

Native Memory Tracking:

Total: reserved=2894609KB, committed=1723517KB
-                 Java Heap (reserved=1048576KB, committed=1048576KB)
                            (mmap: reserved=1048576KB, committed=1048576KB) 

-                     Class (reserved=1258404KB, committed=239444KB)
                            (classes #41586)
                            (malloc=5028KB #81169) 
                            (mmap: reserved=1253376KB, committed=234416KB) 

-                    Thread (reserved=184932KB, committed=184932KB)
                            (thread #176)
                            (stack: reserved=179900KB, committed=179900KB)
                            (malloc=580KB #885) 
                            (arena=4453KB #352)

-                      Code (reserved=270879KB, committed=120795KB)
                            (malloc=21279KB #27527) 
                            (mmap: reserved=249600KB, committed=99516KB)     

-                    GC (reserved=81676KB, committed=81676KB)
                            (malloc=9996KB #52352) 
                            (mmap: reserved=71680KB, committed=71680KB) 

-                  Compiler (reserved=4901KB, committed=4901KB)
                            (malloc=312KB #745) 
                            (arena=4589KB #9)

-                  Internal (reserved=12462KB, committed=12462KB)
                            (malloc=12430KB #55846) 
                            (mmap: reserved=32KB, committed=32KB) 

-                    Symbol (reserved=19876KB, committed=19876KB)
                            (malloc=16192KB #176321) 
                            (arena=3684KB #1)

-    Native Memory Tracking (reserved=6222KB, committed=6222KB)
                            (malloc=33KB #393) 
                            (tracking overhead=6189KB)

-               Arena Chunk (reserved=4631KB, committed=4631KB)
                            (malloc=4631KB) 

-                   Unknown (reserved=2048KB, committed=0KB)
                            (mmap: reserved=2048KB, committed=0KB) 

热门cmd结果:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                              
22239 tomcat    20   0 4290m 1.8g  18m S 103.8 23.1  12:38.92 java                                                                                                                 

RES内存值使用htop:1825M

为什么这些值没有达到Top cmd显示的值?或者我的计算不正确?

0 个答案:

没有答案