當您使用-version
標誌運行java
可執行文件時,可能會忽略Xmx
標誌。這取決於你如何傳遞版本標誌。以下是我機器上的結果,擁有2GB RAM:XMX
C:\Users\Reynolds>java -version -Xmx10240M
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)
這是奇怪的考慮到10G超出了最大可尋址限制的內存在32位環境之前
版本標誌傳遞。
版本標誌XMX
C:\Users\Reynolds>java -Xmx10240M -version
Invalid maximum heap size: -Xmx10240M
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.
C:\Users\Reynolds>java -Xmx1524M -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
更接近現實後通過。
您可能想要使用第二種方法驗證Java中實際可用的連續內存量,然後確定最大堆大小的最佳值。
你確定有足夠的內存空間保留這個堆的大小嗎?檢查服務器上的可用內存空間。 – 2011-06-04 08:42:39
我的主要問題是:爲什麼我無法爲Tomcat堆大小分配110MB,如果我可以爲Java執行此操作? – ZenQW 2011-06-04 08:57:48