मेमोरी-मैप की गई फ़ाइल के आकार को सीमित करता है? मुझे पता है कि यह आवंटित पता स्थान के सबसे बड़े निरंतर खंड से बड़ा नहीं हो सकता है, और यह कि पर्याप्त खाली डिस्क स्थान होना चाहिए। लेकिन क्या अन्य सीमाएं हैं?मेमोरी-मैप की गई फ़ाइल कितनी बड़ी हो सकती है?
उत्तर
आप बहुत रूढ़िवादी हैं: एक स्मृति-मैप की गई फ़ाइल पता स्थान से बड़ी हो सकती है। मेमोरी-मैप की गई फ़ाइल के ओएस मेमोरी बाधाओं से सीमित है, लेकिन यह केवल उस फ़ाइल का हिस्सा है जिसे आप एक ही समय में देख रहे हैं। (और मुझे लगता है कि तकनीकी रूप से आप फ़ाइल के असंतुलित हिस्सों के एक बार में कई दृश्यों को मानचित्र बना सकते हैं, इसलिए ओवरहेड और पेज लम्बाई बाधाओं से अलग, यह केवल बाइट्स का कुल # है जो आप देख रहे हैं कि यह एक सीमा है। आप बाइट्स को देख सकते हैं [1024 0] और बाइट्स [2 + 1024 के लिए] दो अलग-अलग विचारों के साथ।)
एमएस विंडोज में, MapViewOfFile समारोह को देखो। यह प्रभावी रूप से 64-बिट फ़ाइल ऑफसेट और 32-बिट लंबाई लेता है।
कोई अन्य सीमा नहीं होनी चाहिए। क्या वे पर्याप्त नहीं हैं? ;-)
64 बिट ओएस पर ये सीमाएं काफी ढीली लगती हैं ... – user88185
विंडोज के तहत: "फ़ाइल दृश्य के आकार का अनारक्षित आभासी स्मृति में से सबसे बड़ी उपलब्ध सन्निहित ब्लॉक तक ही सीमित है यह अधिक से अधिक 2 जीबी शून्य से आभासी स्मृति पहले से ही प्रक्रिया द्वारा आरक्षित है।।"
MDSN से।
मुझे LINUX/OSX/जो कुछ भी अन्य के बारे में निश्चित नहीं है, लेकिन यह शायद पता स्थान से भी संबंधित है।
बस स्पष्ट करने के लिए, यह फ़ाइल दृश्य का आकार है, न कि फ़ाइल का आकार। –
"2 जीबी शून्य वर्चुअल मेमोरी पहले से ही प्रक्रिया द्वारा आरक्षित है" 32 बिट मशीन पर है? क्या यह 64 बिट बॉक्स पर अलग है? – user88185
लिनक्स पर FUSE के साथ आप एक मेमोरी फाइल सिस्टम भी बना सकते हैं जो मांग पर डिस्क तक फैलता है। मुझे यकीन नहीं है कि स्मृति मैप किए गए के रूप में अर्हता प्राप्त करता है, और भेद को धुंधला हो जाता है।
विकिपीडिया प्रविष्टि: http://en.wikipedia.org/wiki/Memory-mapped_file
मुझे इस विकिपीडिया आलेख में उल्लिखित अन्य सीमाएं नहीं मिलीं, इसका मतलब है कि कोई नहीं है? – user88185
जबकि यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, [यह बेहतर होगा] (http: //meta.stackoverflow।कॉम/क्यू/825 9) यहां उत्तर के आवश्यक हिस्सों को शामिल करने के लिए, और संदर्भ के लिए लिंक प्रदान करें। –
यह मेरा अनुभव है जब Win32 के तहत स्मृति-मैप की गई फ़ाइलों का उपयोग कर:
अपने नक्शे एक खंड में पूरी फ़ाइल है, यह सामान्य रूप से बाहर चारों ओर पर टैप करता 750 एमबी, क्योंकि यह स्मृति की एक बड़ी संगत ब्लॉक नहीं मिल सकता है। यदि आप इसे छोटे सेगमेंट में विभाजित करते हैं, तो प्रत्येक 100MB कहें, आप और क्या चल रहा है इसके आधार पर लगभग 1500MB-1800MB प्राप्त कर सकते हैं।
यदि आप /3g switch का उपयोग करते हैं तो आप लगभग 2700 एमबी तक 2 जीबी से अधिक प्राप्त कर सकते हैं लेकिन ओएस प्रदर्शन को दंडित किया जाता है।
मुझे 64-बिट के बारे में निश्चित नहीं है, मैंने कभी कोशिश नहीं की है, लेकिन मुझे लगता है कि अधिकतम फ़ाइल आकार केवल आपके पास भौतिक स्मृति की मात्रा से ही सीमित है।
64-बिट पर सीमा उपलब्ध पता स्थान है, जो 32-बिट पर समान है। आप 32-बिट मशीन पर 1 जीबी व्यू मैप कर सकते हैं जिसमें केवल 32 एमबी भौतिक मेमोरी है। उसी तरह आप 32-बिट मशीन पर 10TB व्यू को मैप कर सकते हैं जिसमें केवल 0.5GB मेमोरी है। केवल 4kb पृष्ठ जिन्हें आप वास्तव में एक्सेस करते हैं उन्हें वास्तविक स्मृति में मैप किया जाता है। – springy76
@ springy76: आप 32-बिट मशीन पर 10TB दृश्य को मैप नहीं कर सकते हैं। केवल 64-बिट पर। –
@ सर्गेईके। आप बहुत सही हैं, यही वह भी है जो मैं लिखना चाहता था - लेकिन मेरी उंगलियों ने कुछ और टाइप किया। इसे पढ़ना चाहिए "उसी तरह आप एक 64-बिट मशीन पर 10TB दृश्य को मैप कर सकते हैं जिसमें केवल 0.5 जीबी मेमोरी है" – springy76
- 1. क्या .htaccess फ़ाइल बहुत बड़ी हो सकती है
- 2. मैं कितनी बड़ी कुकी बना सकता/सकती हूं?
- 3. कक्षाओं में कक्षाओं में कितनी बार घोंसला हो सकती है?
- 4. ब्राउज़र सुरक्षा कितनी बड़ी सुरक्षा जोखिम है?
- 5. क्या मॉड्यूल की अपनी कॉन्फ़िगरेशन फ़ाइल हो सकती है?
- 6. कक्षा फ़ाइल कितनी इंटरफेस लागू कर सकती है
- 7. ओरेकल: एक बड़ी एक्सएमएल फ़ाइल लोड हो रहा है?
- 8. स्मृति में कक्षा कितनी बड़ी है?
- 9. प्रक्रिया की मृत्यु हो गई है
- 10. बड़ी, भारी उपयोग की गई तालिका
- 11. मॉलोक -> कितनी मेमोरी आवंटित की गई है?
- 12. प्लूपलोड - अपलोड की गई फ़ाइल
- 13. कितनी ऑब्जेक्ट्स बनाई गई हैं
- 14. प्रश्नों के समक्ष आने से पहले SQLite तालिका कितनी पंक्तियां हो सकती है
- 15. फ़ाइल ऑब्जेक्ट का उपयोग करके मुझे फ़ाइल की निर्देशिका कैसे प्राप्त हो सकती है?
- 16. 64 बिट ऑपरेटिंग सिस्टम पर 32 बिट प्रक्रिया तक कितनी मेमोरी एक्सेस हो सकती है?
- 17. क्या सीएसवी फ़ाइल में कोई टिप्पणी हो सकती है?
- 18. जावा में, सरणी टाइप वैरिएबल की बाध्य क्यों नहीं हो सकती है, लेकिन वाइल्डकार्ड की बाध्य हो सकती है?
- 19. क्या कोई डेटाबेस है कि आपके पास डेटाबेस में कितनी टेबल हो सकती है?
- 20. बड़ी फ़ाइल
- 21. एक बहुत बड़ी फ़ाइल
- 22. विजुअल स्टूडियो में हेडर फ़ाइल शामिल नहीं हो सकती है।
- 23. rubyzip लाइब्रेरी का उपयोग करके मुझे ज़िप फ़ाइल की सामग्री कैसे प्राप्त हो सकती है?
- 24. शक्तियों को बड़ी (बड़ी) फ़ाइल
- 25. क्या मुझे वह तारीख मिल सकती है जब एक HTTP फ़ाइल संशोधित की गई थी?
- 26. सत्र की अवधि समाप्त हो गई है या नहीं, एएसपीनेट
- 27. आईडीएल जेनरेट की गई हेडर फ़ाइल
- 28. बड़ी फ़ाइल
- 29. एक अपलोड की गई फ़ाइल को फ़ाइल
- 30. क्या राइनोमोक्स की मृत्यु हो गई?
प्लेटफार्म? विंडोज या लिनक्स? –