簡體   English   中英

JVM如何使用超過4GB的內存

[英]how can JVM use more than 4gb of memory

我有一個請求在下面的機器上安裝Linux服務器(最好是Ubuntu 64位服務器)和Java(64位):

  • Intel Core2Quad Q8200 - 2.33 GHz
  • 8GB DDR2內存
  • 軟RAID1鏡像(鏡像)中的2x 320GB SATA硬盤

問題是如何配置系統和Java,因為我需要JVM使用超過4GB的內存。

它無法在許多虛擬機上分發。 有超過4GB的數據,它必須在內存中,因為硬盤速度慢,性能至關重要。

這是一個配置和性能問題,如果有人有經驗,我對評論感興趣嗎?

非常感謝你幫助我...

一個64位的JVM應該沒有任何問題,因為巨型堆肯定比你的可用RAM大得多。 只需在啟動JVM時增加堆大小,例如:

java -Xmx6g

您曾經必須指定64位標志(使用-d64 ),但我不認為這是必要的。

32位JVM可以管理3GB的堆。

skaffman的答案提供了分配6GB內存所需的標志是正確的。 如果'g'沒有做到這一點,你可能想嘗試6000米(有關標志/平台的詳細信息,請查看下面的鏈接)

對於其他選項,您可以在此處找到有關Java HotSpot VM的所有可用選項的有用信息。

http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp

(可提供行為和性能選項。此頁面上還提供了平台特定鏈接)

JVM(尤其是64位)毫不猶豫地占用了所有內存,4Gb不是問題。 只需安裝64位Ubuntu,default-jre包也將是64位。

還要特別注意數據如何存儲在內存中。 同樣,由於指針等的開銷較高,64位JDK非常渴望內存。因此,如果在某些數據結構中將這些4Gb分布在小塊中,8Gb將是不夠的。

如果您安裝64位Ubuntu,我相信

sudo apt-get install sun-java6-jdk

為您提供64位Java。


編輯:64位Java可以通過適當的開關為您提供所需的內存。 限制是使用32位JVM,根據操作系統的不同,它不能超過2-4 Gb。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM