由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - OutofMemoryError: Java Heap Space
相关主题
Java Object 一定在 Heap 里吗How to: Abort DOM/XML loading when memory is low
今天被老印grill了问一个GC的问题
java在美国到底怎样?j2ee启动时, 启动了tomcat吗?
紧急求助: java OutOfMemoryError使用java的大型站点
Question: OutOfMemoryError when drawImagOracle收购Sun后 最新公布的产品策略,怀念SUN
Wrap up -Re: Question: OutOfMemoryErrorDifference btw EJBLocalHome and EJBHome?
问个java logger的问题JEE EJB Question
dependency version collision problem有玩或者工作中用RAILS的么?感觉前景如何
相关话题的讨论汇总
话题: heap话题: java话题: space话题: permgen
进入Java版参与讨论
1 (共1页)
y***y
发帖数: 295
1
大家遇到这种问题怎么解决?
程序跑起来需要的heap空间比较大
都用了Xmx1440m了还出这种错误:(
我不明白为什么这个时候virtual memory不能起作用呢?
A**o
发帖数: 1550
2
64bit or do your own paging

【在 y***y 的大作中提到】
: 大家遇到这种问题怎么解决?
: 程序跑起来需要的heap空间比较大
: 都用了Xmx1440m了还出这种错误:(
: 我不明白为什么这个时候virtual memory不能起作用呢?

b******y
发帖数: 9224
3
Tricky issue. I think you just need to be careful to make sure the memory
usage is as small as possible...
i****k
发帖数: 804
4
首先要根据exception确定是哪一种 OOME。
常见的 OOME 根据HEAP区域有两类:PermGen 和 Heap。PermGen 类的OOME只会出现在
有permgen概念的JVM,比如HOTSPOT。BEA 的 JROCKIT 不会出现这种问题。
PermGen存放两种对象:Class object 和 interned String。大多数permGen OOME由前
者引起,根本原因是hotspot对 classloader 的 garbage collection 做的不是很好。
这种问题常出现于:1. 开发过程中反复deploy程序。2. 应用的high availability
strategy或者side-by-side deployment strategy 采用了抛弃classloader的设计。3.
病态JSP,TAG, EJB compiler。
PermGen OOME 是常见,well documented,但是普通人极难处理的问题。这类问题的根
源多数在于JVM, SERVER 和应用架构的弊病。其中应用架构问题,常见病因有:
1.误用Thre

【在 y***y 的大作中提到】
: 大家遇到这种问题怎么解决?
: 程序跑起来需要的heap空间比较大
: 都用了Xmx1440m了还出这种错误:(
: 我不明白为什么这个时候virtual memory不能起作用呢?

i****k
发帖数: 804
5
另外,1.5G对于大多数SERVER是足够了。这个具体要参考你的SERVER的厂商文档。
增加HEAP到2G以上,或者上64位JVM,至少在目前,几乎可以肯定不是正确答案。前者
在某些JVM/OS KERNEL 组合下不能用。后者即使能用,一般而言性能也比32位差。
JAVA 的 SCALABILITY STRATEGY 主要是横向。比如,一台机器上部署多个JVM构成
CLUSTER要比增加HEAP或者64位内存有效。

【在 y***y 的大作中提到】
: 大家遇到这种问题怎么解决?
: 程序跑起来需要的heap空间比较大
: 都用了Xmx1440m了还出这种错误:(
: 我不明白为什么这个时候virtual memory不能起作用呢?

F****n
发帖数: 3271
6
The most likely reason is that you have a dead loop in your code.

【在 y***y 的大作中提到】
: 大家遇到这种问题怎么解决?
: 程序跑起来需要的heap空间比较大
: 都用了Xmx1440m了还出这种错误:(
: 我不明白为什么这个时候virtual memory不能起作用呢?

t*******e
发帖数: 684
7

3.
Very informative!

【在 i****k 的大作中提到】
: 首先要根据exception确定是哪一种 OOME。
: 常见的 OOME 根据HEAP区域有两类:PermGen 和 Heap。PermGen 类的OOME只会出现在
: 有permgen概念的JVM,比如HOTSPOT。BEA 的 JROCKIT 不会出现这种问题。
: PermGen存放两种对象:Class object 和 interned String。大多数permGen OOME由前
: 者引起,根本原因是hotspot对 classloader 的 garbage collection 做的不是很好。
: 这种问题常出现于:1. 开发过程中反复deploy程序。2. 应用的high availability
: strategy或者side-by-side deployment strategy 采用了抛弃classloader的设计。3.
: 病态JSP,TAG, EJB compiler。
: PermGen OOME 是常见,well documented,但是普通人极难处理的问题。这类问题的根
: 源多数在于JVM, SERVER 和应用架构的弊病。其中应用架构问题,常见病因有:

i****k
发帖数: 804
8
Most server programs by definition are deal loops. That's what 24X7 means.

【在 F****n 的大作中提到】
: The most likely reason is that you have a dead loop in your code.
x****y
发帖数: 252
9
different solutions for different cases.
1 (共1页)
进入Java版参与讨论
相关主题
有玩或者工作中用RAILS的么?感觉前景如何Question: OutOfMemoryError when drawImag
jar file questionWrap up -Re: Question: OutOfMemoryError
Re: Out of memory, Java heap space 的问题怎么解决? (转载)问个java logger的问题
garbage collection issuedependency version collision problem
Java Object 一定在 Heap 里吗How to: Abort DOM/XML loading when memory is low
今天被老印grill了问一个GC的问题
java在美国到底怎样?j2ee启动时, 启动了tomcat吗?
紧急求助: java OutOfMemoryError使用java的大型站点
相关话题的讨论汇总
话题: heap话题: java话题: space话题: permgen