Java内存泄漏是否可能使用比堆+ permgen更多的内存? [英] Is it possible for a Java memory leak to use more memory than the heap + permgen?

查看:158
本文介绍了Java内存泄漏是否可能使用比堆+ permgen更多的内存?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在任何情况下,Java应用程序(例如Tomcat servlet应用程序)中的泄漏是否有可能超出分配的内存并使用额外的系统内存,或者JVM的已分配堆是否真正具有防火墙(可以这么说)从(其余的)OS /内核内存?我在使用Java 6和7的2.6内核Linux工作,但这是一个普遍的问题。

Is it possible under any circumstances for a leak in a Java application, for instance a Tomcat servlet app, to exceed the allocated memory and use additional system memory, or is the allocated heap for the JVM truly firewalled (so to speak) from the (rest of the) OS/Kernel memory? I am working in 2.6 Kernel Linux with Java 6 and 7, but this is more of a general question.

推荐答案

是的 - 它是可能。 Java内存区域分为几个区域 - heap和permgen不是全部。还有代码缓存和本机内存的区域,这对于所有堆结构都非常流行。请查看此演示文稿的幻灯片7

Yes - it's possible. Java memory area is divided into few regions - heap and permgen are not all of them. There are also areas for code cache and native memory, which is quite popular for all of-heap structures. Please take a look at slide 7 of this presentation

这篇关于Java内存泄漏是否可能使用比堆+ permgen更多的内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆