對於使用Java(Weka)運行的大型數據挖掘實驗,我試圖按照所述分配更大的堆大小以提高性能。增加JVM堆大小而沒有效果 - 回顧已定義的選項
我通過在菜單中設置以下選項「運行>運行配置>參數」這樣做:
[含有待確實運行代碼的應用程序是所選擇的一個。
有兩件事情讓我困惑:
性能並沒有增加。如果額外的內存不能使程序運行速度更快,仍然可以嗎?
即使我設置超出我的機器RAM(4096米)的值,它不會產生任何錯誤。這是正確的還是應該有一個?
對於使用Java(Weka)運行的大型數據挖掘實驗,我試圖按照所述分配更大的堆大小以提高性能。增加JVM堆大小而沒有效果 - 回顧已定義的選項
我通過在菜單中設置以下選項「運行>運行配置>參數」這樣做:
[含有待確實運行代碼的應用程序是所選擇的一個。
有兩件事情讓我困惑:
性能並沒有增加。如果額外的內存不能使程序運行速度更快,仍然可以嗎?
即使我設置超出我的機器RAM(4096米)的值,它不會產生任何錯誤。這是正確的還是應該有一個?
增加內存永遠不會提高性能,如果你的程序並不需要那麼多的內存。所以首先確保你的程序需要那麼多的內存。
理解的XMS的含義和XMX
XMS(初始堆尺寸)是初始堆尺寸,以便系統將分配用於初始使用,並通過指定XMX這麼多堆(最大堆大小)您告訴系統這是您可能使用的最大堆大小。這就是你的系統沒有產生任何錯誤的原因。
爲什麼你認爲增加堆應該使程序運行得更快? –
您可以打開活動監視器並查看實際的java進程正在消耗多少內存。 Mac OS X可能會限制大小以使計算機上的所有內容都能正常運行.JVM無法獲得比Mac OS X更高的內存 – Alex
您應該首先使用'jvisualvm'來分析應用程序的內存和CPU使用情況。 –