विंडोज केवल मेरे 4 जीबी रैम में से 3.5 जीबी क्यों दिखाता है?


90

मैंने हाल ही में अपने कंप्यूटर की रैम को 4 जीबी में अपग्रेड किया है। मेरी 32-बिट विंडोज इंस्टॉलेशन केवल 3574 एमबी मेमोरी दिखाती है। मैं राम की पूरी मात्रा का उपयोग कैसे कर सकता हूं?


2
यह केवल आज सुबह सुपरसर्वर
टॉम

3
इसे 2000 मतों से ऊपर ले जाने की आवश्यकता है क्योंकि यह रोजमर्रा की तरह लगता है कि मैं अभी तक किसी अन्य व्यक्ति में चला गया हूं जो पूछता है कि "मेरी स्मृति कहां है?" Microsoft को केवल संवाद बॉक्स से बाहर ले जाना चाहिए। । ।
सर्फस

2
दोस्त, आपको 64 बिट ओएस की आवश्यकता है। गंभीरता से, अब अपना पैसा बचाना शुरू करें। तब यह प्रश्न एक म्यूट पॉइंट बन जाएगा जब आपके पास एक ऐसी प्रणाली होगी जो वास्तव में सभी मेमोरी का समर्थन करेगी जो आप मदरबोर्ड में सामान कर सकते हैं।
फिस्को लैब्स

1
किसी भी नमी या नमी के लिए सिस्टम यूनिट के आसपास सावधानी से महसूस करें। यह एक 'मेमोरी लीक' हो सकता है।
ग्यारहवेंडॉक्टर

@ बाला: कर्नेल मेमोरी विभाजित होने के कारण ... (कर्नेल द्वारा आवंटित 1 जीबी)। ऐसा लगता है कि आप पहले से ही /
3Gb

जवाबों:


71

आप नहीं कर सकते:

देखें यार, कहां है मेरा 4 गीगाबाइट रैम?

यदि आप मेमोरी और डिवाइसेस को 32-बिट एड्रेस रेंज में फिट करना चाहते हैं: सभी उपलब्ध 4GB एड्रेस स्पेस को मेमोरी पर नहीं दिया जा सकता है।
तो वास्तव में क्या होता है यदि आप बाहर जाते हैं और अपने पीसी के लिए 4 जीबी मेमोरी खरीदते हैं?
IO के लिए आपके मेमोरी मैप में एक छेद है। (अब यह कुल पता स्थान का केवल 25% है, लेकिन यह अभी भी एक बड़ा छेद है।) तो आपकी मेमोरी के निचले हिस्से में 3GB उपलब्ध होगा, लेकिन उस अंतिम 1GB के साथ एक समस्या है।

केवल व्यावहारिक समाधान 64-बिट ऑपरेटिंग सिस्टम स्थापित करना है। Windows Vista और बाद में, 32-बिट और 64-बिट लाइसेंस कुंजियाँ विनिमेय हैं। यदि आप अपने ऑपरेटिंग सिस्टम के 64-बिट संस्करण के लिए विंडोज इंस्टॉलेशन मीडिया प्राप्त कर सकते हैं, तो आप अपनी मूल लाइसेंस कुंजी का उपयोग करके पुनर्स्थापित कर सकते हैं।


मुझे समझ नहीं आया - 2 ^ 32 4 गीगाबाइट नहीं है?
मैट

6
आह, कभी नहीं, वास्तव में जुड़ा हुआ लेख पढ़ा
मैट

यह जानने के लिए अच्छा है
लियूयान ''

@VonC: इस बारे में क्या ?
user2284570

@ user2284570 सच है, पीएई मदद कर सकता है, लेकिन अभी भी डब्ल्यूएक्सपी पर कौन है? ;)
वॉनक

8

सबसे पहले, विंडोज एक्सपी (32 बिट) केवल 4 जीबी का समर्थन करता है। यह सिर्फ Windows XP पर लागू नहीं होता है। इसके बजाय, यह 32 बिट डेस्कटॉप विंडोज पर लागू होता है - पीएई के साथ 32 बिट लिनक्स सिस्टम और कई 32 बिट विंडोज सर्वर संस्करण जुड़े लेख के अनुसार 4 जीबी से अधिक का समर्थन करते हैं। यदि आप 32-बिट Windows XP का उपयोग कर रहे हैं तो आप कभी भी 4 GB से अधिक नहीं देखेंगे। हालाँकि, मुझे इस बात का अधिक विवरण मिला कि आपके सिस्टम ने वास्तव में स्थापित की तुलना में कम उपलब्ध रैम को क्यों दिखाया।

से 3GB-नहीं-4GB RAM समस्या (माइक्रोसॉफ्ट MSDN ब्लॉग):

बहुत समय पहले किए गए एक वास्तुशिल्प निर्णय के कारण, यदि आपके पास 4 जीबी की भौतिक रैम स्थापित है, तो विंडोज़ केवल 4 जीबी रैम के भौतिक भाग (~ 2.75GB से 3.5GB तक) स्थापित किए गए उपकरणों, मदरबोर्ड के चिपसेट और के आधार पर रिपोर्ट करने में सक्षम है BIOS)।

यह व्यवहार "मेमोरी मैप्ड IO आरक्षण" के कारण है। वे आरक्षण भौतिक पता स्थान को ओवरले करते हैं और उन भौतिक पते को बाहर निकाल देते हैं ताकि उनका उपयोग कार्यशील मेमोरी के लिए न किया जा सके। यह मशीन पर चलने वाले ओएस से स्वतंत्र है।

4GB (32-बिट के माध्यम से सुलभ उच्चतम पता) के नीचे पता स्थान के महत्वपूर्ण हिस्सा सिस्टम हार्डवेयर द्वारा उपयोग के लिए आरक्षित हैं:

  • BIOS - ACPI और विरासत वीडियो समर्थन सहित
  • पुल आदि सहित पीसीआई बस।
  • पीसीआई एक्सप्रेस समर्थन कम से कम 256MB आरक्षित करेगा, ग्राफिक्स कार्ड स्थापित मेमोरी के आधार पर 768MB तक

इसका मतलब यह है कि एक विशिष्ट प्रणाली ~ 256MB और 1GB पता स्थान के बीच 4GB से नीचे हार्डवेयर उपयोग के लिए देखी जा सकती है जिसे OS एक्सेस नहीं कर सकता है। इंटेल चिपसेट चश्मा यह बताने में बहुत अच्छा है कि क्या पता सीमाएं डिफ़ॉल्ट रूप से आरक्षित हो जाती हैं और कुछ मामलों में कॉल करते हैं कि 1.5GB हमेशा आरक्षित रहता है और इस प्रकार विंडोज के लिए दुर्गम है।

यदि आप स्रोत की जांच करते हैं तो और जानकारी है। हालाँकि, यदि आप इन निर्देशों का पालन ​​करते हैं, तो आप पूरे 8 GB स्थापित का लाभ उठा सकते हैं ।

व्यक्तिगत अनुभव से बात करें तो यह कोई नई समस्या नहीं है। मैं कुछ साल पहले इसी समस्या में भाग गया था जब मैंने 4 जीबी 32-बिट विंडोज विस्टा सिस्टम बनाया था जब विस्टा पहली बार रिलीज हुआ था। इसी विषय से संबंधित अनगिनत फोरम पोस्ट ऑनलाइन थे।

Microsoft KB 929605 भी पढ़ें - Windows Vista में सिस्टम सूचना डायलॉग बॉक्स में बताई गई सिस्टम मेमोरी 4 GB RAM स्थापित होने पर आपकी अपेक्षा से कम है


Microsoft दस्तावेज़ यहाँ है कि Windows XP 128GB RAM का समर्थन करता है, यदि अंतर्निहित आर्किटेक्चर 64-बिट है। क्या आप अपना जवाब अपडेट कर सकते हैं?
दान डस्केलस्क्यू

@SgtOJ: इस बारे में क्या ?
user2284570

1
@SgtOJ: 4 जीबी रैम की सीमा "सभी 32-बिट ऑपरेटिंग सिस्टम" पर लागू नहीं होती है। एक 32-बिट ओएस जो पूरी तरह से पीएई (जैसे विंडोज सर्वर 2003) का समर्थन करता है, खुशी से 4 जीबी रैम से अधिक का उपयोग कर सकता है। "32 बिट्स" वर्चुअल एड्रेस स्पेस को प्रतिबंधित करता है, भौतिक नहीं।
जेमी हनराहन

@JamieHanrahan का मतलब है कि अभी भी एक भी कार्यक्रम 4GB से अधिक का उपयोग नहीं कर सकता है। और मुझे लगता है कि उनका मतलब आइओ आरक्षण ओवरहेड ओएस स्वतंत्र है।
जिग्गंजर

@jiggunjer सवाल या जवाब में मैं कहीं भी टिप्पणी नहीं कर रहा था, यह कहा गया था या निहित था कि "एकल कार्यक्रम" का उपयोग करने के बारे में क्या पूछा जा रहा था। न ही आई / ओ आरक्षण सख्ती से ओएस स्वतंत्र है।
जेमी हनराहान

3

यदि आप 32Bit Windows XP का उपयोग कर रहे हैं, तो यह संभव नहीं है। चूंकि अतिरिक्त रैम का उपयोग करने के लिए पर्याप्त एड्रेस स्पेस उपलब्ध नहीं है

सबसे अच्छा समाधान विंडोज के 64-बिट संस्करण में अपग्रेड करना होगा क्योंकि यह 4+ जीबी रैम का समर्थन करता है।


2^324 GiB फिट करने के लिए पर्याप्त "पता स्थान" है। आप गलती से अंतरिक्ष और भौतिक स्मृति को संबोधित करते हैं। आधुनिक विंडोज संस्करणों पर हर प्रक्रिया पूर्ण 4 GiB पता स्थान को देखती है, भले ही आम तौर पर केवल 2 GiB वर्चुअल एड्रेस स्पेस के UM / KM विभाजन के कारण उपयोग करने योग्य हो।
0xC0000022L

@ 0xC0000022L: यहां इस मुद्दे पर चर्चा नहीं की जा रही है।
बेन वोइगट

माइक्रोसॉफ्ट के अनुसार , विंडोज 7 (32-बिट सहित) के अधिकांश रिलीज, 192 जीबी तक रैम का समर्थन करते हैं। केवल आवश्यकता यह है कि अंतर्निहित वास्तुकला 64-बिट है। तो सबसे अच्छा समाधान होगा XP से विंडोज 7 में अपग्रेड करना। क्या आप अपना जवाब अपडेट कर सकते हैं?
दान डेस्केल्सस्कु

@Shaharyar: के बारे में क्या यह ?
user2284570

3

जैसा कि दूसरों ने कहा है, यह संभव नहीं है।

स्पष्टीकरण:

स्मृति के प्रत्येक टुकड़े में एक पता होता है। ऑपरेटिंग सिस्टम पते की लंबाई निर्दिष्ट करता है। पुराने ऑपरेटिंग सिस्टम के लिए पता लंबाई 32 बिट्स है, जो केवल 2 ^ 32 (4 294 967 296) पते की अनुमति देता है। अब, उस संख्या को देखकर, ऐसा लग सकता है कि आपके ऑपरेटिंग सिस्टम को 4 जीबी का समर्थन करना चाहिए, लेकिन अन्य सभी हार्डवेयर (सबसे महत्वपूर्ण रूप से, आपके वीडियो कार्ड में वीडियो रैम) जिसमें आंतरिक मेमोरी भी है, उस पते के स्थान में मैप हो जाती है।

यह ऐसा है जैसे आप 1,200,000 छह अंकों वाले टेलीफोन नंबर वितरित करने का प्रयास कर रहे हैं।


आप रैम और एड्रेस स्पेस को मिला रहे हैं।
0xC0000022L

@ 0xC0000022L: नहीं वह नहीं है। वह भौतिक पता स्थान के बारे में बात कर रहा है, जबकि RAM को प्रयोग करने योग्य होने के लिए मैप किया जाना चाहिए।
बेन वोइगेट

@BenVoigt: इस बारे में क्या ?
user2284570

पीएई महान है, अगर सभी कर्नेल कोड का उपयोग करने के लिए लिखा गया है। दुर्भाग्य से बहुत सारे कर्नेल कोड तृतीय पक्षों द्वारा लिखे गए ड्राइवर होते हैं जो एक फ्लैट मेमोरी मॉडल के साथ अपने सामान को स्थिर रूप से प्राप्त कर सकते हैं। पीएई को सक्षम करने के लिए सभी मौजूदा ड्राइवरों को फ्लैट मॉडल धारणा के साथ फेंकने की आवश्यकता होती है। यही कारण है कि Windows सर्वर PAE और क्लाइंट को सक्षम नहीं करता है। स्टीवेब का जवाब देखें।
बेन वोइग्ट

@BenVoigt: 1997 के बाद से, ड्राइवर जो स्मृति <4GB दुर्लभ हैं, क्योंकि सभी WDM ड्राइवर Windows 2000/2003 पर स्थापित किए जा सकते हैं ...
user2284570

3

पुराने मदरबोर्ड ने केवल भौतिक रैम के 4 जीबी का समर्थन किया, आधुनिक लोग बहुत अधिक समर्थन करते हैं। Intel P4 CPU हमेशा 4Gb से अधिक पता कर सकता है (भौतिक पता एक्सटेंशन या PAE नामक किसी चीज़ का उपयोग करके)

Microstoft ने decision मार्केटिंग डिसीजन ’का समर्थन किया और इसके बाद के ऑपरेटिंग सिस्टम के सभी 32 बिट संस्करणों के made क्लायंट’ संस्करणों में और अधिक समर्थन करने के लिए 4Gb भौतिक पता स्थान का समर्थन नहीं किया - जिसमें तब w2k से 32bit Windows 8 तक सभी शामिल हैं (यदि आप MS KB पर जाएँ) आप ध्यान दें कि 32 बिट सर्वर संस्करण बहुत अधिक समर्थन कर सकते हैं - 128 जीबी तक मैं 32 बिट 'एंटरप्राइज एडिशन' के साथ विश्वास करता हूं) - यही कारण है कि ठीक उसी हार्डवेयर पर 'उचित' 32 बिट ओएस (लिनक्स आदि) हमेशा सभी तक पहुंच सकता है भौतिक रैम।

(साइड नोट - 32 बिट Win7 उपयोगकर्ता इस 'बेवकूफ' सीमा से इतने तंग आ गए कि उन्होंने कर्नेल को 'फिजिकल रैम' तक पहुंचाने की अनुमति देने के लिए 'हैक' कर लिया .. कहने की जरूरत नहीं है, यह आपके लाइसेंस को तोड़ देता है और वास्तव में यूएस (DCMA) में अवैध है )

ड्राइवर के उपयोग के लिए लो 4Gb एड्रेस स्पेस का विंडोज एक्सपी 32 बिट 'रिजर्व' हिस्सा है। ऐसा कोई कारण नहीं है कि आप 4Gb (पीएई का उपयोग करके) से परे भौतिक रैम को 'एड्रेस' नहीं कर सकते हैं, हालांकि विंडोज एक्सपी प्रो के समय के आसपास कई पुराने ड्रायवर ऐसा करने में विफल रहे और आपको 'बीएसओडी' की त्रुटि मिलेगी (आधुनिक ड्राइवर पीएई का उपयोग करते हैं। सही ढंग से और सिद्धांत के कारण कोई कारण नहीं है कि उन्हें 2Gb ग्राफिक्स कार्ड का समर्थन करने के लिए कुल मिलाकर 'लो' स्पेस पेज (लगभग 'विंडो' के रूप में) 32Mb से अधिक की जरूरत है (2 जीबी 4 जीबी से ऊपर 'हाय' स्पेस में होगा) निशान)

XP SP2 में, MS ने BSOD को खत्म करने के प्रयास में ड्राइवरों के लिए एड्रेस स्पेस 'आरक्षित' की मात्रा को लगभग तीन गुना कर दिया है और यह तब से है जब से (MS 'डिबग' ड्राइवरों को नहीं चाहते == वे आपको 64 बिट बेचना चाहते हैं इसके बजाय OS)। ACTUAL हार्डवेयर का इस 'आरक्षित' स्थान पर लगभग शून्य प्रभाव है।

एसओ, अगर आपके पास 4 जीबी या अधिक भौतिक रैम है, तो सबसे अधिक एक्सपी प्रो एसपी 2 + देखेंगे जो लगभग 3.25 जीबी है। बाकी को विभिन्न विभिन्न रैम डिस्क ड्राइवर्स (एमएस एक नहीं) का उपयोग करके एक्सेस किया जा सकता है = कुछ के लिए देखो। XP प्रो पर 'अदृश्य पता स्थान' या 'उच्च 4gb स्थान' का उपयोग करता है) .. 'लापता' का उपयोग करके .75Gb को अपनी 'वर्चुअल मेमोरी' के हिस्से के रूप में उपयोग करके आपके सिस्टम को गति दी जा सकती है ...

ध्यान दें कि / 3G स्विच 32 बिट एप्लिकेशन को 32 बिट ओएस पर 3Gb तक पहुंचने की अनुमति दे सकता है (यदि उनके पास अपने .exe हेडर में BigAddressAware फ्लैग सेट है - जिस स्थिति में वे 64 बिट ओएस पर 4Gb तक पहुंच सकते हैं, लेकिन। XP पर आपको RAM को 'निचोड़ने' वाले OS को रोकने के लिए / USERVA को निर्दिष्ट करने की आवश्यकता है :-)


यदि आप बूट करने के लिए / PAE स्विच जोड़ते हैं तो Windows XP SP1 का समर्थन> 4GB RAM
user2284570

0

यदि आप पूर्ण 4GB का उपयोग करना चाहते हैं, तो एकमात्र विकल्प 64 बिट ऑपरेटिंग सिस्टम में अपग्रेड करना है:

  • विंडॉक्स एक्सपी 64
  • विंडोज विस्टा 64
  • लिनक्स
  • अधिकतम OS / X (ठीक है, आपको इसके लिए एक नए पीसी की आवश्यकता हो सकती है)

सामान्य विंडोज एक्सपी केवल 32 बिट है, और यह मेमोरी को 3.5 जीबी अधिकतम तक सीमित करता है। इस विषय के विवरण के लिए पोस्ट किए गए लिंक VonC की जाँच करें।


32 बिट होने से मेमोरी को 3.5Gb अधिकतम तक सीमित नहीं किया जा सकता है। यह उपलब्ध पता स्थान खाने वाले अन्य उपकरण हैं, इसलिए 3.75 जीबी भी संभव है। -1
मैक्सवीटी

इसीलिए मैंने कहा "विवरण के लिए लिंक की जाँच करें" :-)
फ्रैंकस

सही बात। Microsoft सूचीबद्ध करता है कि XP 64-बिट 128GB RAM का समर्थन करता है
दान डेस्केल्सस्कु

0

यदि आप एकीकृत ग्राफिक्स का उपयोग करते हैं तो आप इसे नीचे कर सकते हैं, और इसका मतलब है कि सिस्टम आपके सिस्टम रैम के अधिक को संबोधित करने में सक्षम होगा।

लेकिन, x64 OS प्राप्त करने के लिए सबसे अच्छा समाधान निश्चित रूप से है।

कोई कारण भी नहीं है। अधिकांश प्रोग्राम x64 / XP / Vista / 7 में x86 एमुलेशन लेयर के साथ काम करते हैं। इसका सिर्फ ड्राइवर यह मुद्दा हो सकता है।


1
Windows XP Pro x64 पर x64 ड्राइवर कचरा हैं, लेकिन विस्टा और 7 x64 ड्राइवर अब कुछ समय के लिए बहुत परिपक्व हो गए हैं।
एमडीएमरा

0

यह एक जटिल प्रश्न है क्योंकि इसमें कई घटकों को काम करना पड़ता है। वे घटक हैं:

  • सेंट्रल प्रोसेसिंग यूनिट
  • मेमोरी कंट्रोलर यूनिट
  • BIOS / (U) EFI
  • ऑपरेटिंग सिस्टम
  • आवेदन

अंतिम आइटम सीधे मुद्दे से संबंधित नहीं है, लेकिन मैंने इसे संपूर्णता के लिए जोड़ा है।

संक्षेप में, उपरोक्त सभी घटकों को सफल होने के लिए 4 जीबी से अधिक मेमोरी का समर्थन करना होगा।

सेंट्रल प्रोसेसिंग यूनिट

एक CPU के साथ शुरू करते हैं। लेकिन पहले यह ध्यान रखना महत्वपूर्ण है, कि सीपीयू में किसी भी मेमोरी का उपयोग करने की कोई जादुई क्षमता नहीं है । इसके बजाय यह अपने पते योग्य स्थान के भीतर किसी भी पते पर पहुंच सकता है । अब यहाँ बिटनेस-चीज़ आती है। 32-बिट CPU 0 से 4 GiB तक के पतों तक पहुँचने में सक्षम है । इस रेंज में न केवल उपलब्ध रैम, ROM, SMRAM , ग्राफिक्स एड्रेस रीमैपिंग टेबल को समायोजित करना है , बल्कि सभी आवश्यक मेमोरी-मैप्ड I / O भी हैं और भी कई, जिन्हें इस पता सीमा का पर्याप्त हिस्सा चाहिए। परिणाम के रूप में यह पूरी तरह से संभव हो सकता है, कि कुछ मेमोरी पते उन उपयोगों द्वारा छायांकित थे और इसलिए रैम पर संचालन के लिए उपलब्ध नहीं हैं। छिपी हुई मेमोरी को पुनः प्राप्त करने के लिए सीपीयू सुलभ एड्रेस स्पेस का विस्तार करना आवश्यक है । 32-बिट CPU भौतिक पता एक्सटेंशन के मामले में मदद कर सकता है। जो 64 GiB तक संबोधित करने की अनुमति देता है । 64-बिट CPU देशी 64-बिट मोड में ऑपरेटिंग डिफ़ॉल्ट रूप से एक्सेस करने में सक्षम है16 ईआईबी तक, जो बहुत बड़ा है और इस तरह के ट्रिक्स की आवश्यकता नहीं है। लेकिन दूसरी ओर 64-बिट सीपीयू के लिए 64-बिट एड्रेसिंग का उपयोग करना अव्यावहारिक है, इसलिए वास्तव में वे अभी भी अपने एड्रेस बस द्वारा 16 ईआईबी से कम सीमा तक सीमित हैं।

मेमोरी कंट्रोलर यूनिट

प्रारंभ में यह नॉर्थब्रिज में स्थित था , लेकिन प्रोसेसर पर ले जाया गया था कि AMD द्वारा AMD64 प्रोसेसर के साथ शुरुआत की गई और Intel उनके Nehaleb प्रोसेसर के साथ। भले ही PAE वाला CPU 64 GiB तक पहुँचने में सक्षम हो, फिर भी उसे RAM तक पहुँचने के लिए MCU की आवश्यकता होती है। सीधे शब्दों में कहें: किसी विशेष पते तक पहुंचने वाले सीपीयू को इसका जवाब या तो पीसीआई डिवाइस, BIOS रॉम फ्लैश या एमसीयू से मिलता है, अगर अनुरोध किया गया पता रैम में रहता है, और इसी तरह। हालांकि यह असामान्य नहीं है कि MCU के लिए (यह नॉर्थब्रिज या CPU में हो) उदाहरण के लिए विपणन कारणों से 64 GiB से कम पते योग्य स्थान का समर्थन करना ।

BIOS / (U) EFI

BIOS / (U) EFI भी महत्वपूर्ण है क्योंकि कुछ भी वास्तव में संचालित करने से पहले हार्डवेयर को कॉन्फ़िगर करना उनका कर्तव्य है। अन्य बातों के अलावा, वे हार्डवेयर डिवाइस, बस, रैम और इतने पर मेमोरी रेंज के साथ पूरे प्रोसेसर एड्रेस करने योग्य स्थान की मैपिंग के लिए जिम्मेदार हैं । दिलचस्प बात यह हो सकती है कि पूरे रैम को टुकड़ों में विभाजित किया गया और कई उपलब्ध गैर-सन्निहित स्पॉट पर मैप किया गया। BIOS के साथ समस्या यह है कि यह डेवलपर्स अपने सिस्टम के भीतर 3 से अधिक RAMB RAM उपयोग की उम्मीद नहीं कर सकते हैं और जैसे कि BIOS उपयोग किए जाने वाले मेमोरी के सभी मानचित्रों को ठीक से नहीं करेगा। सबसे अधिक संभावना है कि यह (यू) ईएफआई के लिए नहीं होगा।

ऑपरेटिंग सिस्टम

ऑपरेटिंग सिस्टम को 4 से अधिक GiB मेमोरी को संबोधित करने का समर्थन करना चाहिए। अधिक विशिष्ट होने के लिए, इसे पीएई का उपयोग करने के लिए सीपीयू को कॉन्फ़िगर करना चाहिए। कुछ 32-बिट OSes पूरी तरह से PAE का उपयोग करने और 4 GiB से अधिक एक्सेस करने में सक्षम हैं, अन्य में अधिकतम मेमोरी पर सॉफ़्टवेयर-लिमिट है, भले ही वे PAE को एन्हांस्ड सिक्योरिटी के लिए सक्षम करते हैं (Windows XP एक उदाहरण है)। एक बार फिर 64-बिट OSes स्वाभाविक रूप से ऐसी कठिनाइयां नहीं हैं और आम तौर पर 4 GiB से अधिक मेमोरी का समर्थन करते हैं।

आवेदन

अंतिम बिंदु एक अलग दुनिया से है, क्योंकि आवेदन आमतौर पर एक वर्चुअल एड्रेस स्पेस में काम करते हैं , मैंने इसे पूर्णता के लिए जोड़ा है। फिर भी, यह अधिक मेमोरी का उपयोग करने में सक्षम होने के लिए आवेदन के लिए संकलन करते समय कुछ अतिरिक्त कदम उठाता है। डिफ़ॉल्ट रूप से 32-बिट एप्लिकेशन केवल 2 GiB मेमोरी का उपयोग करने में सक्षम है। वही 32-बिट एप्लिकेशन मेमोरी के 4 GiB तक पता कर सकता है , बशर्ते कि OS समर्थन करता है और CPU PAE को सक्षम करता है। विशेष रूप से, यह उपयोग कर सकता हैस्मृति के 3 GiB तक, अन्य 1 GiB सामान्य पुस्तकालयों और OS कर्नेल के रूप में पता करने योग्य होगा, लेकिन लेखन योग्य नहीं है (अंततः यह आवेदन के बजाय OS आर्किटेक्चर पर निर्भर करता है)। फिर से, 64-बिट एप्लिकेशन मूल रूप से 4 GiB से अधिक मेमोरी को संबोधित करने का समर्थन करते हैं और पहले स्थान पर ऐसी परेशानी नहीं होती है।

इस सब को परिप्रेक्ष्य में रखने के लिए, कई उदाहरणों पर विचार करते हैं।

Intel® 82945G मेमोरी कंट्रोलर पर विचार करें । इंटेल वेबसाइट बताती है, कि यह पीएई का समर्थन नहीं करता है और 4 जीबी रैम तक सीमित है। 9 System Address Mapडेटाशीट के पैराग्राफ से परामर्श करें । इसकी बहुत सारी जानकारी है। सबसे दिलचस्प है Figure 9-3. Main Memory Address Range: चित्र 9-3।  मुख्य मेमोरी एड्रेस रेंज और पैराग्राफ 9.2 Main Memory Address Range (1 MB to TOLUD), जो निम्नानुसार पढ़ता है:

यह पता सीमा 1 MB से भौतिक मेमोरी के शीर्ष तक फैली हुई है, जिसे (G) MCH (TOLUD रजिस्टर में क्रमादेशित) के द्वारा पहुँचा जा सकता है। जब तक वे वैकल्पिक TSEG, वैकल्पिक ISA होल, या वैकल्पिक IGD चोरी VGA मेमोरी में नहीं आते हैं, तब तक इस सीमा के भीतर सभी पते तक पहुंच (G) MCH द्वारा मुख्य मेमोरी में भेज दी जाती है। (G) MCH 4 GB (82945GC / 82945GZ / 82945PL के लिए 2 GB) का अधिकतम मुख्य मेमोरी एड्रेस डीकोड स्पेस प्रदान करता है। (G) MCH APIC या PCI एक्सप्रेस मेमोरी स्पेस को रीमैप नहीं करता है। इसका मतलब यह है कि जैसे ही सिस्टम में पॉप्युलर मेमोरी की मात्रा 4 जीबी (82945GC / 82945GZ / 82945PL के लिए 2 जीबी) तक पहुंच जाती है, भौतिक मेमोरी होगी जो अभी तक मौजूद है, गैर-पता योग्य है और इसलिए सिस्टम द्वारा अनुपयोगी है।

जैसा कि यह कहता है, चूंकि यह पीएई का समर्थन नहीं करता है, यह अंततः 4 जीईबी से ऊपर पीसीआई और हर दूसरे एमएमआईओ को रीमैप करने में असमर्थ है , इसलिए कुछ मेमोरी को छायांकित और अप्रयुक्त किया जाएगा। जिसका अर्थ है कि भले ही यह 36-बिट एड्रेसिंग का समर्थन करने वाले सीपीयू के साथ उपयोग किया जाता है, लेकिन 4 गीब से ऊपर की मेमोरी अभी भी अनुपलब्ध रहेगी और 4 गिब सीमा के करीब की कुछ मेमोरी भी अप्रयुक्त होंगी।

इसके विपरीत, Intel® 82955X मेमोरी नियंत्रक पर विचार करने देता है , जो पिछले एक से संबंधित है, लेकिन यह पिछले एक के विपरीत 8 जीबी का समर्थन करने के लिए निर्दिष्ट है! डेटशीट पैराग्राफ का 2.1 Host Interface Signalsसुझाव है, कि यह सीपीयू के लिए 36-बिट एड्रेस बस का उपयोग करता है, जो एक अच्छा संकेत है। पैराग्राफ 7 System Address Mapमें आगे अंतर्दृष्टि है। Figure 7-1. System Address Rangesहमने पहले जो देखा था, उसकी तुलना करें : चित्र 7-1।  सिस्टम पता रेंज यह स्पष्ट रूप से बताता है कि यह 4 GiB से अधिक रैम का उपयोग करने में सक्षम है, बशर्ते कि यह सीपीयू के साथ 36-बिट एड्रेसिंग में भी सक्षम हो। यह भी ध्यान देने योग्य है कि पैराग्राफ में 7 System Address Mapकहा गया है कि MCH supports 64 GB of addressable memory space। हालाँकि यह आगे स्पष्ट किया गया है कि अधिकतम उपयोग करने योग्य रैम 8 जीबी तक सीमित है। यह एक बार फिर से पता योग्य और के बीच के अंतर को घोषित करता हैउपयोगी के रूप में मैं सीपीयू अनुभाग में व्यक्त करने की कोशिश कर रहा था।

इसे समाप्त करने के लिए, मैं यह नोट करना चाहूंगा कि दो संबंधित चिपसेट वास्तव में मेमोरी हैंडलिंग में बहुत अंतर है।

चलो Intel® Pentium® प्रोसेसर एक्सट्रीम एडिशन 840 का निरीक्षण करते हैं । यह 64-बिट अनुदेश सेट का समर्थन करता है, लेकिन PAE का समर्थन नहीं करता है। जिसका अर्थ है कि यदि 32-बिट मोड में चलाया जाता है, तो यह 4 GiB से अधिक रैम का उपयोग करने में असमर्थ होगा (कृपया, मुझे सही करें अगर मैं इस धारणा के साथ गलत हूं)। चलो डेटशीट और टेबल की जाँच करें Table 4-3. Signal Description। भले ही यह सीपीयू 64-बिट सक्षम है, लेकिन यह अभी भी सीमित है, यह एड्रेस बस 36-बिट चौड़ा है, इस प्रकार इसे 0 से 64 गीब से शुरू होने वाले सुलभ एड्रेस रेंज तक सीमित किया गया है

अब एक और हालिया सीपीयू की जांच करने देता है। उदाहरण के लिए Intel® Core ™ i7-7700 प्रोसेसर लें । यह 64 जीबी तक रैम का समर्थन करने के लिए विज्ञापित है। अब इसके डेटाशीट की जांच करने देता है। पैराग्राफ 2.3 System Address Mapहमें आश्वस्त करता है कि 39-बिट एड्रेस बस के कारण सीपीयू की यह पता लगाने योग्य सीमा 0 से 512 तक है। ध्यान दें कि यह 64-बिट सीपीयू के लिए सैद्धांतिक 16 ईआईबी रेंज से अभी भी दूर है। हैरानी की बात है यह आगे स्पष्ट करते हैं कि इस CPU के 32 GiB तक का ही समर्थन करता है, हालांकि प्रयोग करने योग्य रैम अधिकतम (वेबसाइट पर 64 जीबी के विपरीत)। यहां रुचि की एक छवि भी है Figure 2-2. System Address Range Example: चित्र 2-2।  सिस्टम पता श्रेणी उदाहरण यह पीसीआई उपकरणों आदि द्वारा मेमोरी शैडोइंग के साथ मुद्दे को चित्रित करने के लिए एक अच्छा काम करता है। यह मैपिंग द्वारा इस मुद्दे पर काबू पाने का एक तरीका भी बताता हैसीपीयू- पता करने योग्य सीमा के भीतर वास्तविक रैम से ऊपरी पता सीमा तक की सीमा। इस प्रकार उपयोग के लिए उस छिपी हुई स्मृति को पुनः प्राप्त करना। ध्यान दें कि यह रीमैपिंग हार्डवेयर आरंभीकरण पर BIOS / (U) EFI द्वारा की जाती है और यह ठीक इसी कारण से है कि मैंने ऊपर बुलेट-लिस्ट में BIOS / (U) EFI को शामिल किया था।

मैंने इंटेल उत्पादों को एक उदाहरण के रूप में लिया है, लेकिन एएमडी के लिए भी यही सच है।

अब चर्चा करते हैं कि ऑपरेटिंग सिस्टम कैसे शामिल हैं। लिनक्स कर्नेल में 2.3.23 संस्करण से शुरू होने वाला पूर्ण पीएई मोड समर्थन शामिल है और 32-बिट सिस्टम पर लिनक्स कर्नेल के साथ प्रयोग करने योग्य 4 से अधिक मेमोरी होना संभव है। हालाँकि, कुछ हार्डवेयर पर 4 GiB से अधिक रैम वाले सिस्टम पर 32-बिट लिनक्स कर्नेल के साथ एक अनिर्धारित मुद्दे से अवगत रहें (मेरे अनुभव में यह TLB शूटडाउन के साथ कुछ करना है)। वैसे भी विकिपीडिया पर PAE समर्थन की अच्छी जानकारी है । दिलचस्प यह है कि विंडोज एक्सपी 4 जीबी तक कैसे सीमित है, जबकि विंडोज सर्वर 2003 एंटरप्राइज / डाटासेंटर SP2 पूरे 64 जीबी में सक्षम है। समान अन्य डेस्कटॉप-सर्वर विंडोज जोड़े के लिए है।

जैसा कि आप देख सकते हैं कि सूचीबद्ध घटकों के बीच कई संयोजन हैं और कुछ मामलों में सीपीयू या ओएस की जगह लेने से मदद मिल सकती है। यह BIOS / (U) EFI या MCU से निपटने के लिए बहुत कठिन है क्योंकि पूर्व मालिकाना और अंतर्निहित प्रणाली में है और आसानी से परिवर्तनीय नहीं है, बाद वाले को सीपीयू में बनाया गया है या बोर्ड पर मिलाप किया गया है।


-4

यह 3574MB राम दिखाता है क्योंकि किसी भी समय उपयोग करने के लिए राम कितना मुफ़्त है और कंप्यूटर के लिए उपलब्ध है। यह आंकड़ा रैम है जो आपके कंप्यूटर की कुल पहुंच है क्योंकि पीसी पर पहले से इंस्टॉल किए गए प्रोग्राम और सेटिंग्स रैम की एक निर्धारित राशि का उपयोग करते हैं, जो आपके मामले में 426mb का होता है। मेरा 6 जीबी 64 बिट पीसी पूर्ण 6 जीबी के 5.8 जीबी रैम उपलब्ध नहीं है। अपने पीसी को अपग्रेड करने के लिए आपकी सबसे अच्छी शर्त होगी


यदि 3.5 जीबी मुफ्त रैम है, तो विंडोज अभी भी इसे मुफ्त रैम और प्रयुक्त रैम में क्यों विभाजित कर रहा है? यह एक ऑपरेटिंग सिस्टम है, इसे सब कुछ पता होना चाहिए, खासकर अगर कोई चीज 0.5 जीबी मेमोरी का उपयोग कर रही है। इंस्टॉल किए गए प्रोग्राम रैम शुरू नहीं करते हैं जब तक कि वे शुरू नहीं हो जाते।
गोरोस्तज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.