2011-07-24 75 views
2

我使用的是Ubuntu 10.04 LTS 64bit,我的系統有4 GB RAM。在java程序中更多的內存分配

我運行一個需要超過1.1GB內存的java程序,但操作系統不允許我的程序獲得超過1.1GB的內存,而只有2.1GB的RAM和1.9GB的空閒空間,這是什麼問題? (這個問題不僅僅針對這個程序,我運行另外一個程序也有同樣的問題。)

我該怎麼辦?

+0

什麼'的ulimit -a'告訴你,當你與你使用相同的用戶運行它對於那些程序? – Mat

+0

它說*最大內存大小*是無限的 – Shahryar

回答

2

看起來你正在運行一個Java應用程序。請務必

  • 如果您需要大於4GB的內存,請運行64位JVM。對於這個工作,你shold有一個64位操作系統
  • 由JVM增加最大堆大小切換 -Xms <initial size> -Xmx <max size>
1

儘管您在64位配置上運行,但您的程序仍會編譯爲32位程序。

+0

我用eclipse運行我的項目,所以我認爲它不能成爲問題 – Shahryar

+0

你得到了什麼特定的錯誤,以及你是如何鏈接程序等 – Soren

+0

另外你是什麼' ulimit -a'看起來像? – Soren