12 जीबी रैम और 33 जीबी वर्चुअल मेमोरी (प्रति कार्य प्रबंधक) के साथ 64-बिट विंडोज मशीन पर, मैं 3.5TB की असंभव -Xmx सेटिंग के साथ जावा (1.6.0_03-b05) चलाने में सक्षम हूं लेकिन यह विफल रहता है 35 टीबी के साथ। जब यह काम करता है और जब यह विफल रहता है तो पीछे तर्क क्या है? 35TB पर त्रुटि का अर्थ यह है कि यह स्टार्टअप पर स्थान आरक्षित करने का प्रयास कर रहा है। यह -Xmx के लिए ऐसा क्यों करेगा (-XMS के विपरीत)?मैं विंडोज और सोलारिस दोनों पर मशीन पर भौतिक और वर्चुअल मेमोरी से अधिक मूल्य के लिए -Xmx क्यों सेट कर सकता हूं?
C:\temp>java -Xmx3500g ostest os.arch=amd64 13781729280 Bytes RAM C:\temp>java -Xmx35000g ostest Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
सोलारिस पर (4GB RAM, जावा 1.5.0_16), मैं बहुत ज्यादा 1 PB पर कैसे उच्च मैं -Xmx सेट कर सकते हैं पर दे दी है। मैं तर्क को समझ नहीं पा रहा हूं कि यह एक्सएक्सएक्स सेटिंग पर कब त्रुटि होगी।
devsun1.mgo:/export/home/mgo> java -d64 -Xmx1000000g ostest os.arch=sparcv9 4294967296 Bytes RAM