मैं एक i5-2430M सीपीयू के साथ एक Asus U31SD नोटबुक है । आसुस साइट का कहना है कि अधिकतम रैम 8 जीबी है, लेकिन इंटेल का कहना है कि मेरा सीपीयू 16 जीबी का समर्थन करता है। उबंटू के तहत मैं इस सिस्टम पर अधिकतम रैम का क्या उपयोग कर सकता हूं?
मैं एक i5-2430M सीपीयू के साथ एक Asus U31SD नोटबुक है । आसुस साइट का कहना है कि अधिकतम रैम 8 जीबी है, लेकिन इंटेल का कहना है कि मेरा सीपीयू 16 जीबी का समर्थन करता है। उबंटू के तहत मैं इस सिस्टम पर अधिकतम रैम का क्या उपयोग कर सकता हूं?
जवाबों:
सीमा वास्तव में आपके हार्डवेयर (मदरबोर्ड मेमोरी सपोर्ट और उसमें स्लॉट की मात्रा) और उबंटू (32 बिट, 32 बिट + पीएई, x32ABI, 64 बिट) के संस्करण के बीच है
यदि आपके पास एक मदरबोर्ड है जो अधिकतम 4GB का समर्थन करता है, तो इससे कोई फर्क नहीं पड़ता कि आप 32 बिट, 32 बिट पीएई या 64 बिट का उपयोग करते हैं क्योंकि आपके पास 4 जीबी की हार्डवेयर सीमा होगी।
लेकिन अगर आप ऐसी मदरबोर्ड खरीदते हैं जो अधिक मात्रा में मेमोरी का समर्थन करती है, तो आप उबंटू के संस्करणों के साथ खेल सकते हैं, जिसमें निम्नलिखित समर्थित अपडेट हैं:
Ubuntu 32 बिट - 4 जीबी रैम
उबंटू 32 बिट + पीएई (भौतिक पता एक्सटेंशन) - 64 जीबी रैम
Ubuntu x32ABI - 4GB RAM (यह 64 बिट हार्डवेयर पर चलने वाले 64 बिट एन्हांसमेंट के साथ संशोधित 32 बिट आर्किटेक्चर के लिए है। यह अभी तक उपलब्ध नहीं है।)
उबंटू 64 बिट - एक बहुत! (वास्तव में 2 ^ 64) लेकिन हार्डवेयर सीमाओं और वास्तविक दुनिया के कंप्यूटरों के कारण सीमा 1TB (1024GB RAM) के आसपास है
तो स्मृति सीमा के बारे में प्रश्न का उपयोग तब किया जाना चाहिए जब आप 4GB से अधिक रैम का उपयोग कर रहे हों। इस मामले में आपको 32 बिट पीएई या 64 बीआईटी की आवश्यकता होगी जो वास्तव में बड़े मेमोरी साइज का समर्थन करते हैं।
यह भी ध्यान दें कि यदि आपके पास अभी उदाहरण के लिए 4GB है, और आप 16GB RAM खरीदते हैं, तो Ubuntu को पुनर्स्थापित करने या कोई भी परिवर्तन करने की कोई आवश्यकता नहीं है। बस यादों को बदल दें और उबंटू को बॉक्स से बाहर पढ़ना चाहिए और उनके साथ काम करना चाहिए। कोई कॉन्फ़िगरेशन आवश्यक नहीं है। यदि आपके पास 4 जीबी रैम के साथ 32 बिट है और आप 16 जीबी या रैम स्थापित करते हैं, तो उबंटू स्वतः 32 बिट से 32 बिट पीएई में बदल जाएगा। मैं इसके लिए वाउच कर सकता हूं क्योंकि मैं इस साल की शुरुआत में 4 जीबी से 16 जीबी तक चला गया था।
यहाँ 32/64 में मेमोरी के बारे में उबंटू के लिए एक बहुत अच्छी व्याख्या का लिंक दिया गया है: https://help.ubuntu.com/community/32bit_and_64bit#Memory
अद्यतन - यह जोड़ना भूल गया कि कुछ मदरबोर्ड में BIOS अपडेट हैं जो समर्थित अधिकतम मेमोरी को सक्षम, सही या बढ़ाते हैं। उदाहरण के लिए, अतीत में कुछ इंटेल मदरबोर्डों को उनके द्वारा समर्थित अधिकतम के साथ काम करने में समस्याएं थीं। एक BIOS अपडेट ने इसे ठीक कर दिया। अन्य मदरबोर्ड में BIOS समस्या के कारण 4GB के लिए समर्थन था, उन्नयन के बाद उनके पास 4GB से अधिक के लिए समर्थन था।
सीपीयू और मदरबोर्ड के लिए अधिकतम समर्थित मेमोरी की तुलना करना, अधिकतम आपके पास उनमें से किसी की भी न्यूनतम हो सकती है। उदाहरण के लिए:
मामले 1
सीपीयू अधिकतम समर्थित मेमोरी - 16 जीबी
मदरबोर्ड अधिकतम समर्थित मेमोरी - 8 जीबी
आपकी अधिकतम समर्थित मेमोरी - 8 जीबी (क्योंकि सीपीयू और मदरबोर्ड के बीच सबसे कम मूल्य है)
मामले 2
सीपीयू अधिकतम समर्थित मेमोरी - 16 जीबी
मदरबोर्ड अधिकतम समर्थित मेमोरी - 32 जीबी
आपकी अधिकतम समर्थित मेमोरी - 16 जीबी (क्योंकि सीपीयू और मदरबोर्ड के बीच सबसे कम मूल्य है)
CASE 3
CPU अधिकतम समर्थित मेमोरी - 16GB
मदरबोर्ड अधिकतम समर्थित मेमोरी - 64GB
आपकी अधिकतम समर्थित मेमोरी - 16GB (क्योंकि सीपीयू और मदरबोर्ड के बीच सबसे कम मूल्य है)
सीपीयू के इस मेमोरी लिमिट संबंध के पीछे कारण इंटेल द्वारा नवीनतम कोर सीपीयू के साथ तकनीकी संशोधन है।
तो आपके मामले में, आपके पास एक मदरबोर्ड है जो 8GB का समर्थन करता है और एक CPU जो 16GB का समर्थन करता है। इसका मतलब है कि आपके पास अधिकतम 8GB हो सकता है, जिसे आप मदरबोर्ड में स्लॉट की मात्रा के आधार पर उपयोग कर सकते हैं। उस Asus में आपके पास 2 स्लॉट हैं, जिसका अर्थ है कि अधिकतम 8GB को पूरा करने के लिए आपके पास दो 4GB रैम हो सकती है।
X32abi के बारे में अधिक जानकारी:
कर्नेलन्यूबीट्स - http://kernelnewbies.org/Linux_3.4#head-039c9d273884c9639937c10d68b4a3214869eb4b
LWN - https://lwn.net/Articles/456731/ (मेमोरी लिमिट के बारे में स्पष्टीकरण जानने के लिए टिप्पणियों को पढ़ने की सलाह दें)
Google - http://sites.google.com/site/x32abi/
अंत में, Ubuntu 12.04 के बाद से, Ubuntu के सभी 32 बिट संस्करण डिफ़ॉल्ट रूप से सक्रिय PAE के साथ आते हैं, इसलिए सभी 32 Bit अधिकतम 64 GB RAM का समर्थन करेंगे। यदि आप 12.04+ का उपयोग कर रहे हैं और जानना चाहते हैं कि किस आर्किटेक्चर का उपयोग करना है, तो अब आप जानते हैं कि जब तक आप कुछ सिफारिशों का पालन करते हैं, तब तक आप उनमें से किसी का भी उपयोग कर सकते हैं:
यदि आपके पास 512 एमबी रैम या उससे कम है तो 32 बिट का उपयोग करने की अत्यधिक अनुशंसा की जाती है
यदि आपके पास 4 जीबी से कम रैम है, लेकिन 512 एमबी से अधिक है तो 32 बिट का उपयोग करने की सिफारिश की जाती है (लेकिन आप अभी भी 64 बिट का उपयोग कर सकते हैं)
यदि आपके पास 4 जीबी रैम है तो 32 बिट का उपयोग करने की अनुशंसा की जाती है (लेकिन आप अभी भी 64 बिट का उपयोग कर सकते हैं)
यदि आपके पास 4 जीबी या रैम और 64 जीबी रैम है, तो आप 32 बिट या 64 बिट का उपयोग कर सकते हैं, लेकिन 64 बिट का उपयोग करने की सिफारिश की जाती है।
यदि आपके पास 64 जीबी से अधिक रैम है तो आपको 64 बिट का उपयोग करने की आवश्यकता है
32 बिट के लिए सैद्धांतिक सीमा 2 ^ 32 = 4096 एमबी है, लेकिन पीएई (भौतिक पता एक्सटेंशन) पर उबंटू 12.04 से 2 ^ 36 = 64 जीबी की सीमा के साथ डिफ़ॉल्ट रूप से चालू होता है।
64 बिट के लिए यह 2 ^ 64 = 16 777 216 टीबी होना चाहिए (हाँ यह टेराबाइट है) चिकित्सीय रूप से। वास्तव में RAM की मात्रा 2 ^ 48 aka 256 TB RAM तक सीमित है।
चूंकि सैद्धांतिक सीमाएं वास्तव में एक सामान्य लैपटॉप में नहीं पहुंच सकती हैं, वास्तविक सीमा आपके नोटबुक में राशि मेमोरी स्लॉट (सामान्य रूप से 1-2) और चिपसेट द्वारा समर्थन है। अगर आप 8 जीबी मॉड्यूल के लिए गंभीर पैसे देने को तैयार हैं तो 8-16 जीबी यहां यथार्थवादी है।
मैंने अभी अपने U31SD में 12GB कुल के लिए 8GB का पॉप खरीदा है। आसुस के स्पेसिफिकेशन पेज के अनुसार 8GB की सीमा है, यह कार्य ठीक है। Memtest86 पास किया और 64 बिट उबंटू को दिखाई दे रहा है।
मेरे पास नवीनतम बायोस अपडेट स्थापित है, निश्चित नहीं है कि इससे कोई फर्क पड़ता है।
FYI करें, sudo dmidecode -t 16
संकेत का उत्पादन Maximum Capacity: 16 GB
।
यह सीपीयू पर मदरबोर्ड पर प्रतिबंध है। सीपीयू 16GB तक का समर्थन करने में सक्षम हो सकता है लेकिन अगर मदरबोर्ड केवल 8GB ले सकता है तो यह आपकी सीमा है।
उबंटू में अगर आप 32-बिट चला रहे हैं तो आपकी सीमा 4GB है और यदि आप 64-बिट चला रहे हैं तो यह बहुत अधिक है (निश्चित रूप से याद नहीं है लेकिन यह 16GB से ऊपर का रास्ता है।
लेकिन आप हमेशा अपने हार्डवेयर द्वारा प्रतिबंधित रहेंगे। आपको हमेशा मदरबोर्ड सीमा और सीपीयू सीमा की तुलना करनी चाहिए और पीसी की सीमा के रूप में सबसे कम मूल्य लेना चाहिए।
आपके विशिष्ट मामले में, 8 जीबी आपके मदरबोर्ड की वजह से है जो कि राम की राशि से अधिक का समर्थन नहीं करता है।
लेकिन खुद उबंटू 32 बिट के लिए 4 जीबी अधिकतम, 32-बिट पीएई पर 64 जीबी और 64 बिट पर 128 जीबी का समर्थन करता है (हालांकि सैद्धांतिक रूप से टोपी 64 बिट के लिए बहुत अधिक है)।
ऐसे कई सवाल थे जो एक पॉइंटर के आकार को निर्धारित करते हैं। मूल रूप से अंगूठे के नियम के रूप में आप कह सकते हैं कि यह प्रोसेसर आर्किटेक्चर है,
x86 -> 4 bytes pointer -> can address 4,294,967,296 locations = 4GB (it is the limit)
x64 -> 8 bytes pointer -> can address 1.84467440737e+19 locations (it is the limit, big, eh)
8GB RAM को संबोधित करने के लिए आपको 8,589,934,592 मैपिंग की आवश्यकता होती है और 4 बाइट्स के पॉइंटर सभी संभावित मानों को संबोधित नहीं कर सकते हैं। इसलिए मैं x86 आर्किटेक्चर पर 4GB से अधिक रैम नहीं रख सकता।
हालांकि कुछ अन्य संभावनाएं हैं:
रैम की मात्रा वास्तुकला (32 या 64 बिट) द्वारा सीमित नहीं है। आर्किटेक्चर केवल यह तय करता है कि एक बार में ओएस और उस पर चलने वाले कार्यक्रमों से कितनी मेमोरी को संबोधित किया जा सकता है। 32-बिट मशीन पर, अर्थात, 32-बिट वाइड मेमोरी बस के साथ एक मशीन, ओएस और प्रोग्राम केवल 4 जीबी मेमोरी "देख" सकते हैं। लेकिन इसका मतलब यह नहीं है कि केवल 4 जीबी रैम है। यदि निर्माता ने इसके लिए प्रदान किया है, तो आपके पास 16 जीबी या 4x4 जीबी रैम हो सकती है। उस स्थिति में, 2 अधिक "छिपी हुई" पता लाइनें होंगी और उन 2 लाइनों के स्तरों को तय करने के लिए हार्डकोडेड तर्क भी होंगे, इस प्रकार उपलब्ध 4 जीबी रैम में से किसी का चयन करना - 00 01 10 11। ये "छिपे हुए" पता बिट्स सॉफ़्टवेयर परतों द्वारा उपयोग नहीं किए जाते हैं, इसलिए इन परतों के लिए, वे केवल 4-बाइट पॉइंटर का उपयोग कर सकते हैं। इन "छिपा" की संख्या
यह तो केवल एक उदाहरण है। यह विक्रेता पर निर्भर करता है कि वे अतिरिक्त रैम के लिए कैसे तय करें।
यह भी देखें:
सामान्य स्थिति में, सिस्टम में मेमोरी की इकाइयाँ होने की तुलना में अधिक पतों को रखने के लिए एक सूचक काफी बड़ा होता है। यह इस संभावना का परिचय देता है कि कोई प्रोग्राम एक ऐसे पते तक पहुंचने का प्रयास कर सकता है जो मेमोरी की किसी इकाई से मेल नहीं खाता हो, या तो इसलिए कि पर्याप्त मेमोरी स्थापित नहीं है (यानी उपलब्ध मेमोरी की सीमा से परे) या आर्किटेक्चर ऐसे एड्रेस का समर्थन नहीं करता है। पहला मामला, कुछ प्लेटफ़ॉर्म जैसे कि इंटेल x86 आर्किटेक्चर, को सेगमेंटेशन फ़ॉल्ट (सेगफ़ॉल्ट) कहा जा सकता है। दूसरा मामला AMD64 के वर्तमान कार्यान्वयन में संभव है, जहां संकेत 64 बिट लंबे हैं और पते केवल 48 बिट्स तक विस्तारित हैं। वहां, पॉइंटर्स को कुछ नियमों (कैनोनिकल पतों) के अनुरूप होना चाहिए, इसलिए यदि एक गैर-संकेतक सूचक को निष्क्रिय कर दिया जाता है, तो प्रोसेसर एक सामान्य सुरक्षा दोष उठाता है।
दूसरी ओर, कुछ सिस्टम में पते की तुलना में मेमोरी की अधिक इकाइयाँ होती हैं। इस स्थिति में, मेमोरी सेगमेंट या पेजिंग के रूप में अधिक जटिल योजना को अलग-अलग समय में मेमोरी के विभिन्न भागों का उपयोग करने के लिए नियोजित किया जाता है। X86 आर्किटेक्चर के अंतिम अवतार 36 बिट भौतिक मेमोरी पतों का समर्थन करते हैं, जिन्हें पीएई पेजिंग तंत्र के माध्यम से 32-बिट रैखिक पता स्थान पर मैप किया गया था। इस प्रकार, एक बार में संभव कुल मेमोरी का केवल 1/16 एक्सेस किया जा सकता है। उसी कंप्यूटर परिवार में एक और उदाहरण 80286 प्रोसेसर का 16-बिट संरक्षित मोड था, जो भौतिक मेमोरी के केवल 16 MiB का समर्थन करते हुए, 1 GBB तक वर्चुअल मेमोरी तक पहुंच सकता था, लेकिन 16-बिट एड्रेस और सेगमेंट का संयोजन रजिस्टरों ने एक डेटा संरचना बोझिल में 64 से अधिक KiB तक पहुंच बनाई।
एक सुसंगत इंटरफ़ेस प्रदान करने के लिए, कुछ आर्किटेक्चर मेमोरी-मैप्ड I / O प्रदान करते हैं, जो कुछ पते को मेमोरी की इकाइयों को संदर्भित करने की अनुमति देता है, जबकि अन्य कंप्यूटर में अन्य उपकरणों के डिवाइस रजिस्टरों को संदर्भित करते हैं। फाइल ऑफ़सेट्स, एरे इंडेक्स और रिमोट ऑब्जेक्ट रेफरेंस जैसी समसामयिक अवधारणाएं हैं जो कुछ समान उद्देश्यों को सेवा प्रदान करती हैं जैसे कि अन्य प्रकार की वस्तुओं के लिए पते।
( यहाँ और अधिक )