作者bravomao (资讯苦力)
看板java
标题Re: [问题] 想知道java heap预设大小
时间Wed Feb 8 23:31:44 2012
※ 引述《kuro44776 (羽岚)》之铭言:
: 如题
: 最近在跑一个大型的程式
: 但是经常跑到一半就出现 outofmemoryerror : java heap space
: 经过爬文 原因似乎是因为jvm的记忆体用尽
: 所以我一口气把他加到10G
: 目前程式还在执行中(希望别再出状况的)
: 但是这一点也因此让我很好奇
: 他预设的SIZE到底是多大啊???
: 他是会自行决定还是有一个预设值在?
: 因为找不到相关的资讯所以才来发问
: 希望可以从这边知道答案 谢谢
HEAP的大小通常是希望由管理人员指定,但是在我看过的很多案例之中这块的设定是个
三不管,也就是说系管的不懂他不会去设,开发也不见得会去指定大小,所以常常出问
题。而HEAP分为起始跟最大值,至於最适当的值那得要看您的平台跟JVM厂商。AIX的话
就要注意Native HEAP与Java HEAP的分配。
另一点值得注意的是SUN的JVM有Perm区块,这块的起始值很小,大约64M吧!小心不要
爆这边~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.250.70.198
1F:→ adrianshum:爆 PermGen 超麻烦, 正常来说不应该会爆, 会爆的通常找 02/09 11:10
2F:→ adrianshum:不到问题所在 orz... 02/09 11:10
3F:→ qrtt1:可以怀疑 script language 动态生成的 class 02/09 14:07
4F:→ bravomao:是的,爆Perm通常是class的metadata太多,可以透过设定 02/10 11:48
5F:→ bravomao:来增加Perm的空间,但是前提是你得要知道是Perm爆掉! 02/10 11:49