面对Java 1.6的奇怪内存“泄漏”

时间:2014-11-06 16:14:35

标签: java memory-leaks

我试图了解服务器内存的使用位置。 当我通过顶部查看系统上的内存使用情况时,我得到了:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 6091 oper      20   0 2721m 1.4g 9180 S    0 11.4   6:13.42 java
10854 oper      20   0 2186m 1.1g 5104 S    1  9.1 114:52.15 java
 9350 oper      20   0 2293m 971m 4892 S    0  8.0  40:15.68 java
 9286 oper      20   0 2082m 800m 4852 S    0  6.6  31:31.44 java
10506 oper      20   0 1936m 711m 4900 S    0  5.9  49:09.64 java
 8965 oper      20   0 1918m 680m 5076 S    0  5.6 106:53.10 java


所有这些过程都是在JVM 1.6.0_26上运行的tomcats 6.0.20

正如我们在顶级报告中所看到的,一个流程正在使用1.4GO和另一个1.1GO ......远远超出预期。
当我在第一个进程打开JConsole时,我可以看到累积内存(堆和非堆内存)是200Mo,第二个385 Mo,第三个235Mo。
所以我的问题是不可见的记忆在哪里?

Top - JConsole = 
1.4G - 200M    = 1.2G
1.1G - 385M    = 715M
971M - 235M    = 736M
800M - 173M    = 627M

有人有想法吗? 非常感谢。

0 个答案:

没有答案