就是最下面那三行,一般只要設定 Initial memory pool (初始值) 跟 Maximum memory pool (最大值) 就可以了。但是解決Out Of Memory Error 問題之前,一定要先了解狀況發生的原因。一般都是發生在開啟大型檔案或跟資料庫一次拿了太多的資料,造成 Out Of Memory Error 的狀況,這時就大概要計算一下資料量的最大值是多少,並且設定所需最小及最大的記憶體空間值。另一種狀況平時比較難查覺。就是 Servlet 或 JSP 的 Container 突然同時上線人數爆增,也相對造成記憶體需求不足,所以也必須要計算出程式所需的資料量*同時上線人數,來設定記憶體的需求量。(如果要有最佳化的值,最好是配合 gc 做調校)有一種說法是聽來的,實際上是不是如此還有待確認。當 CPU 速度愈快,記憶體的最小需求量也就必需愈大。原因是 CPU 愈快,短時間內能處理的資料量也就愈大,所以在 java 做 GC 之前,可能已經記憶體已經消耗完了,所以 CPU 的速度也是記憶體初始需求量的重要因素之一。目前這三項應該足以應付絕大部份 Out Of Memory Error 的狀況,其它造成 Out Of Memory Error 的狀況,等有遇到再來補充。

解决方案 »

  1.   

    调整jbuilder中jdk的Initial memory pool (初始值) 跟 Maximum memory pool (最大值) 就可以。
    这个调整你可以用命令行启动jbuilder中jdk,然后通过java命令行中的-Xms,-Xmx来增加,命令如下:
    java -ms64M -mx512M 。。
      

  2.   

    可以詳細一點,一步一步地說下嗎?
    "用命令行启动jbuilder中jdk"是指在命令行下進入jbuilder的jdk目錄嗎? 如:D:\Borland\JBuilder2005\jdk1.4\bin
    然後運行命令"java -ms64M -mx512M"? ,可是我這裡出錯呀?
      

  3.   

    OutOfMemoryError不一定是环境设定问题,有可能是你的程序有死循环或者确实有不合理的开销。请检查自己的程序再去尝试改变jvm设定,因为一般来说,初始设定可以满足绝大多数要求
      

  4.   

    問題出在部署的過程中,部署失敗給出的原因是:
    java.lang.OutOfMemoryError  
    Exception in thread "main"
      

  5.   

    你的bean有问题吗
    检查过没有
    部署时系统可能检查你的程序时遇到问题了
      

  6.   

    問題出在jbuilder還是weblogic上呢?
      

  7.   

    跟jbuilder和weblogic没什么关系,大多数情况下都是你的代码有问题所导致的错误