के लिए अधिकतम मेमोरी 64-बिट प्लेटफॉर्म पर जावा के लिए आवंटित अधिकतम स्थान की अधिकतम मात्रा क्या है? क्या यह असीमित है?64 बिट जावा
उत्तर
सैद्धांतिक रूप से 2 , लेकिन वहाँ हो सकता है (जाहिर है)
this FAQ के अनुसार यह केवल स्मृति और स्थानीय सिस्टम पर स्वैप स्पेस द्वारा सीमित है:
पर 64-बिट VM, आप 64 बिट्स है काम करने के लिए उत्तरदायित्व के परिणामस्वरूप अधिकतम जावा हीप आकार केवल भौतिक स्मृति की मात्रा और आपके सिस्टम द्वारा प्रदान की जाने वाली स्वैप स्थान से सीमित है।यह भी देखें कि मुझे 32-बिट JVM के साथ एक बड़ा ढेर क्यों नहीं मिल सकता है?
यह भी ध्यान रखें कि आपको कमांड लाइन के माध्यम से अधिकतम ढेर सेट करने की आवश्यकता है। एक एक्सएमएक्स कमांड के बिना। इसके बिना जावा एक ही एफएक्यू के अनुसार 64 बिट मशीनों पर एक डिफ़ॉल्ट अधिकतम ढेर के रूप में 64 एमबी + 30% = 83.2 एमबी का उपयोग करता है।
java -Xmx1000g myClass
मेरी मशीन पर ठीक काम करता है। लेकिन यह अभी तक 'टी' संशोधक का समर्थन नहीं करता है, इसलिए आप अभी तक टेराबाइट्स में अधिकतम मेमोरी निर्दिष्ट नहीं कर सकते हैं :)
1000g आपके लिए काम किया? मैंने सोचा कि उस विकल्प को लेने से पहले पर्याप्त स्मृति होने पर 'जावा' मान्य होगा। – asgs
यदि आप ब्रह्मांड में प्रत्येक परमाणु को रैम के बाइट में बना सकते हैं, तो आप इसे 64 बिट एड्रेस स्पेस में आवंटित कर सकते हैं।
असल में, यह मामूली असाधारण है।
ब्रह्मांड में 10^80 परमाणु (वोल्फ्राम एल्फा के अनुसार), और 64 बिट सिस्टम में पता स्थान के 2^64 बाइट्स हैं, इसलिए आप केवल 5x10^60 परमाणुओं में से 1 को संबोधित करने में सक्षम होंगे । लेकिन यदि आपके पास रैम के 18 क्विंटल बाइट्स हैं, तो आपको शायद इसे मापने के लिए कुछ क्वांटम ब्लैक होल की आवश्यकता होगी।
@ स्टीफन, मैंने आपकी टिप्पणी पोस्ट करने से पहले जवाब संपादित किया। WolframAlpha नियम! –
उस पर एक पूर्ण संग्रह के लिए इंतजार नहीं करना चाहता! – overthink
आपको ब्रह्मांड में प्रत्येक परमाणु को इंडेक्स करने के लिए 266 बिट्स की आवश्यकता है –
सिद्धांत में यह 2^63
और 2^64
बाइट्स के बीच है।
अभ्यास में यह आपकी मशीन पर उपलब्ध भौतिक स्मृति और स्वैप स्थान की मात्रा से सीमित है। और भौतिक स्मृति बदले में आपके चिपसेट द्वारा सीमित है (यानी भौतिक स्मृति पता बस पर पता पिन की संख्या) और मदरबोर्ड (यानी डीआईएमएम सॉकेट की संख्या और आकार)।
AMD64 के लिए, वर्तमान चश्मे 40-52 पता पिनों की पूर्ति करते हैं। साथ ही, वे NUMA आर्किटेक्चर का समर्थन करते हैं जहां प्रत्येक प्रोसेसर में स्मृति का एक हिस्सा होता है जो अन्य प्रोसेसर केवल अप्रत्यक्ष रूप से पहुंच सकते हैं। – MSalters
यह शायद प्रणाली अपने वीएम में चल रहा है पर निर्भर करता है। यदि आप एक AMD x64 वास्तुकला वर्तमान में भेज दिया प्रोसेसर की पता स्थान 48 बिट्स, नहीं 64 यह मोटे तौर पर 256 टीबी के एक सैद्धांतिक अधिकतम में परिणाम का उपयोग करता चला रहे हैं। (http://en.wikipedia.org/wiki/X86-64 देखें)
मैं वीएम में विशेषज्ञ नहीं हूं, लेकिन कोई भी आधुनिक ओएस आमतौर पर उतनी ही स्मृति देगा जितना भौतिक रैम प्लस उपलब्ध वर्चुअल मेमोरी है। शायद यह है कि वीएम आपके कॉन्फ़िगरेशन के आधार पर आपके एप्लिकेशन को पास करेगा।
प्रासंगिक एएमडी मैनुअल बताता है कि वर्चुअल एड्रेस स्पेस वास्तव में 64 बिट्स (अध्याय 2.2.1, एएमडी 64 आर्किटेक्चर प्रोग्रामर मैनुअल, v3.14, सितंबर 2007) – MSalters
सूर्य से हाल ही के वीएम के साथ, व्यावहारिक ढेर सीमा का आकार आम तौर पर उपलब्ध भौतिक और/या आभासी स्मृति 512 गुना होता है। यहां तक कि यदि सैद्धांतिक सीमा बहुत अधिक है, तो वीएम स्टार्टअप पर प्रत्येक 512 बाइट्स ढेर मेमोरी के लिए मैंगमेंट उद्देश्यों के लिए 1 बाइट आवंटित करेगा, इसलिए 1TB ढेर को तुरंत मेमोरी प्रबंधन के लिए 2 जीबी की आवश्यकता होगी। सीमाओं
- 1. 64-बिट जावा
- 2. 64-बिट जावा ओडीबीसी
- 3. जावा 32-बिट बनाम 64-बिट संगतता
- 4. 64-बिट जावा ऐप्स: क्या 64-बिट ओएस, 64-बिट जेआरई और 64-बिट एप्लिकेशन आवश्यक है?
- 5. जावा जेआरई 64-बिट डाउनलोड?
- 6. जावा 64 बिट जेडीके प्रश्न
- 7. 64-बिट
- 8. 64-बिट
- 9. 64 या 64 बिट वर्चुअल मशीन 64 बिट मशीन (vmware)
- 10. विन 7 64 बिट
- 11. 64 बिट JVM
- 12. 64 बिट जावा प्लेटफ़ॉर्म के लाभ
- 13. जावा और ग्रहण - 32 बनाम 64 बिट
- 14. जावा 64-बिट जेडीबीसी-ओडीबीसी ड्राइवर
- 15. जावा आईईईई 64-बिट 754 डबल,
- 16. 64 बिट विंडोज़ संख्या समय में जावा
- 17. 64 बिट के लिए जावा प्रोग्रामिंग JVM
- 18. 32 बिट बनाम 64 बिट
- 19. एक 64 बिट JVM
- 20. 64 बिट वीएम
- 21. ubuntu 10 64 बिट
- 22. विंडोज 7 64 बिट मशीन
- 23. 32-बिट या 64-बिट एप्लिकेशन?
- 24. उबंटू 10.04 64 बिट ओएस
- 25. java.lang.ArithmeticException ओरेकल 11.2.0.2.0 (64 बिट)
- 26. 64-बिट .NET अनुप्रयोग
- 27. 64-बिट मशीन
- 28. विंडोज 64 बिट
- 29. 64 बिट विंडोज 7
- 30. 64-बिट मशीन
आपको ऐसा क्यों लगता है कि यह असीमित है? –