यदि RAM सस्ती है, तो हम सब कुछ RAM पर लोड क्यों नहीं करते और उसे वहां से कैसे चलाते हैं?


132

SSDs की तुलना में RAM सस्ती है, और बहुत तेज है। यह सिर्फ अस्थिर है। तो क्यों नहीं कंप्यूटर में बहुत सारी RAM होती है, और पावर अप होने पर, हार्ड ड्राइव / SSD से RAM पर सब कुछ लोड करना और बस वहां से सब कुछ चलाना, यह मानते हुए कि मेमोरी के बाहर कुछ भी जारी रखने की कोई वास्तविक आवश्यकता नहीं है? क्या कंप्यूटर ज्यादा तेज नहीं होंगे?

बेशक, वर्तमान ऑपरेटिंग सिस्टम इसका समर्थन नहीं कर सकता है, लेकिन क्या कोई कारण है कि रैम इस तरह से उपयोग नहीं किया जाता है?


109
आप मान लें कि रैम सस्ती है। 1TB RAM की लागत कितनी है?
एलन शटको

39
आप जो वर्णन करते हैं उसे रैमडिस्क कहा जाता है और लोग पहले से ही आपका वर्णन करते हैं। मैं अपने अधिकांश कार्यक्रमों को एक RAMDisk का उपयोग करके मेमोरी में लोड करता हूं। आपको ऐसा करने के लिए विशेष हार्डवेयर की भी आवश्यकता नहीं है, आप सिस्टम मेमोरी और सॉफ्टवेयर का उपयोग कर सकते हैं।
रामहुंड

16
हम कवर के तहत करते हैं, इस हद तक कि एक दिया ओएस इसका समर्थन करता है। विंडोज़ "डिस्क कैश" के लिए "अप्रयुक्त" रैम का उपयोग करता है, और मैं मानता हूं कि लिनक्स के कई संस्करण भी करते हैं। लेकिन रैम में यह सब करने के लिए बहुत अधिक डिस्क है।
डैनियल आर हिक्स 20

19
"सस्ता" एक सापेक्ष शब्द है। प्रत्येक बिट मेमोरी कुछ साल पहले की तुलना में सस्ती है, लेकिन हार्ड ड्राइव पर स्टोरेज की तुलना में यह अधिक महंगा है। और वैसे भी प्रगति का मार्च यह सुनिश्चित करेगा कि कार्यक्रम हमेशा सभी उपलब्ध रैम को भर दें, चाहे कितना भी उपलब्ध हो; अगर हर किसी के कंप्यूटर में अचानक अधिक रैम उपलब्ध होती है, तो डेवलपर्स अपने कार्यक्रमों में अधिक सामान डाल सकते हैं।
झक मारकर

15
Google इंटरनेट को RAM
Ari

जवाबों:


177

कुछ कारणों से रैम का उपयोग इस तरह से नहीं किया जाता है:

  1. आम डेस्कटॉप (DDR3) रैम सस्ता है, लेकिन इतना सस्ता नहीं है। खासकर यदि आप अपेक्षाकृत बड़े DIMM खरीदना चाहते हैं।
  2. रैम बंद होने पर अपनी सामग्री खो देता है। इस प्रकार आपको बूट समय पर सामग्री को फिर से लोड करना होगा। मान लें कि आप 100GB की SSD- आकार की RAM डिस्क का उपयोग करते हैं, इसका मतलब है कि लगभग दो मिनट की देरी जबकि 100GB डिस्क से कॉपी की जाती है।
  3. RAM अधिक शक्ति का उपयोग करता है (DIMM प्रति 2-3 वाट कहें, एक निष्क्रिय SSD के समान)।
  4. इतनी रैम का उपयोग करने के लिए, आपके मदरबोर्ड को बहुत सारे डीआईएमएम सॉकेट और उनके निशान की आवश्यकता होगी। आमतौर पर यह छह या उससे कम तक सीमित होता है। (अधिक बोर्ड स्पेस का मतलब है अधिक लागत, इस प्रकार उच्च कीमतें।)
  5. अन्त में, आपको अपने कार्यक्रमों को चलाने के लिए RAM की भी आवश्यकता होगी, इसलिए आपको काम करने के लिए सामान्य RAM आकार की आवश्यकता होगी (उदाहरण 18GiB, और आपके द्वारा उपयोग किए जाने वाले डेटा को संग्रहीत करने के लिए पर्याप्त)।

होने के बाद कहा कि: हाँ, राम डिस्क मौजूद हैं। यहां तक ​​कि DIMM सॉकेट के साथ PCI बोर्ड के रूप में और बहुत उच्च IOps के लिए उपकरणों के रूप में। (SSD के विकल्प बनने से पहले कॉर्पोरेट डेटाबेस में अधिकतर उपयोग किया जाता है)। हालांकि ये चीजें सस्ती नहीं हैं ।

यहां निम्न-अंत RAM डिस्क कार्ड के दो उदाहरण दिए गए हैं जिन्होंने इसे उत्पादन में शामिल किया है:

ध्यान दें कि सामान्य कार्य मेमोरी में रैम डिस्क बनाने की तुलना में ऐसा करने के अधिक तरीके हैं ।

आप ऐसा कर सकते हैं:

  1. अस्थिर (गतिशील) मेमोरी के साथ इसके लिए एक समर्पित शारीरिक ड्राइव का उपयोग करें। या तो एक उपकरण के रूप में, या एसएएस, एसएटीए या पीसीआई [ई] इंटरफेस के साथ।
  2. आप बैटरी समर्थित भंडारण के साथ भी ऐसा कर सकते हैं (इसमें प्रारंभिक डेटा को कॉपी करने की कोई आवश्यकता नहीं है क्योंकि यह अपनी सामग्री को तब तक रखेगा जब तक बैकअप पावर वैध रहता है)।
  3. आप DRAMS (सरल, अधिक महंगा) के बजाय स्थैतिक रैम का उपयोग कर सकते हैं।
  4. आप सभी डेटा रखने के लिए फ्लैश या अन्य स्थायी भंडारण का उपयोग कर सकते हैं (चेतावनी: फ्लैश में आमतौर पर सीमित संख्या में चक्र होते हैं)। यदि आप फ्लैश को केवल स्टोरेज के रूप में उपयोग करते हैं तो आप बस SSDs में चले गए हैं। यदि आप डायनेमिक रैम में सब कुछ स्टोर करते हैं और पावर बैकअप के लिए फ्लैश बैकअप बचाते हैं तो आप उपकरणों पर वापस चले गए।

मुझे यकीन है कि अमीगा रेड से वर्णन करने के लिए और अधिक तरीके हैं: IOPS में रीसेट बचे हुए रैम डिस्क, लेवलिंग पहनें और जीडी जानता है कि क्या है। हालाँकि, मैं इस छोटे और केवल एक और आइटम की सूची में कटौती करूँगा:

डीडीआर 3 (वर्तमान डीआरएएम) कीमतें बनाम एसएसडी कीमतें:

  • DDR3: € 10 प्रति GiB, या € 10,000 प्रति TiB
  • SSDs: महत्वपूर्ण रूप से कम। (लगभग / 4 से 1/10 वीं।)

12
+1 दो महत्वपूर्ण बिंदुओं को मारने के लिए: HD रैम की तुलना में अभी भी सस्ता है, और RAM अस्थिर है। राम आपके काम की बेंच है, और आपके एचडी का वेयरहाउस है। Nuf sed।
चाड हैरिसन

1
@ हनीस - एक सॉफ्टवेयर रैमडिस्क समाधान के साथ पूरे ड्राइव को मेमोरी में लोड करने का सुझाव नहीं दे रहा था। आप कह सकते हैं कि फ़ोटोशॉप को मैकेनिकल ड्राइव से रैमडिस्क में जंक्शन बिंदुओं का उपयोग करके लोड किया जा सकता है और प्रदर्शन एसएसडी इंस्टॉलेशन के रूप में बेहतर या अच्छा होगा।
रामहुंड

29
+1 "रैम के सस्ते, लेकिन उस सस्ते के लिए नहीं"। एक त्वरित खोज से पता चलता है कि एसएसडी ड्राइव वर्तमान में क्षमता और निर्माता के आधार पर 75 सेंट के बीच एक रुपये से एक टमटम के लिए बेच रहे हैं। DDR3 रैम मॉड्यूल, क्षमता के आधार पर, $ 7-10 प्रति जीबी के बीच बेचते हैं, इसलिए एसएसडी लागत के लिए रैम का अनुपात 15: 1 जितना हो सकता है।
कीथ्स

2
RAM loses its contents when powered off.सटीक होने के लिए, केवल अस्थिर रैम करता है लेकिन गैर-वाष्पशील रैम सब कुछ संचालित होने पर भी रखता है, उदाहरण के लिए फ्लैश चिप्स । उस अर्थ में, एसएसडी रैम से अलग नहीं है, लेकिन इसका एक उपप्रकार है।
शाऊल

1
मैं असहमत हूं। SSD पर फ़्लैश कोशिकाओं को शक्ति की आवश्यकता नहीं हो सकती है, लेकिन SSD पर नियंत्रक और अन्य इलेक्ट्रॉनिक्स शक्ति प्रदान करते हैं। अधिक शक्ति नहीं, लेकिन लगभग एक ही आधुनिक डीआईएमएम (1-3 वाट) द्वारा खींची गई शक्ति के समान है।
हेन्स

71

ऑपरेटिंग सिस्टम पहले से ही ऐसा करते हैं, पेज कैश के साथ :

कंप्यूटिंग में, एक पृष्ठ कैश, जिसे अक्सर डिस्क कैश कहा जाता है, मुख्य मेमोरी (रैम) में रखी गई डिस्क-समर्थित पृष्ठों का "पारदर्शी" कैश है जो त्वरित पहुंच के लिए ऑपरेटिंग सिस्टम द्वारा किया जाता है। पेज कैश आमतौर पर पेजिंग मेमोरी प्रबंधन के साथ गुठली में लागू किया जाता है, और अनुप्रयोगों के लिए पूरी तरह से पारदर्शी है।

जब आप डिस्क से कोई पृष्ठ पढ़ते हैं, तो आपका ऑपरेटिंग सिस्टम उस डेटा को मेमोरी में लोड कर देगा, और उसे वहां छोड़ देगा जब तक कि उस मेमोरी का बेहतर उपयोग न हो। यदि आपके पास पर्याप्त मेमोरी है, तो आपका ओएस केवल प्रत्येक पृष्ठ को एक बार पढ़ेगा, और उसके बाद से इसे मेमोरी से उपयोग कर सकता है। एकमात्र कारण यह है कि OS वास्तविक डिस्क IO करेगा यदि उसे किसी ऐसे पृष्ठ को पढ़ने की आवश्यकता है जो पहले से ही स्मृति में नहीं है, या यदि कोई पृष्ठ लिखा है (जिस स्थिति में, आप संभवतः इसे डिस्क पर सहेजना चाहते हैं)।

इस तरह से काम करने का एक फायदा यह है कि आपको पूरी हार्ड ड्राइव को मेमोरी में लोड नहीं करना पड़ता है, जो उपयोगी है यदि यह फिट नहीं होगा, और इसका मतलब यह भी है कि आप फ़ाइलों को पढ़ने में समय बर्बाद न करें जो आपके एप्लिकेशन नहीं करते हैं जरुरत। एक और लाभ यह है कि जब भी ओएस को अधिक मेमोरी की आवश्यकता होती है, तो कैश को छोड़ दिया जा सकता है (यह बेहतर है कि आपकी अगली डिस्क को थोड़ा धीमा पढ़ा जाए, आपके प्रोग्राम क्रैश होने की तुलना में क्योंकि वे मेमोरी से बाहर हैं)। इसके अलावा, यह उपयोगी है कि उपयोगकर्ताओं को मैन्युअल रूप से यह तय करने की आवश्यकता नहीं है कि रैमडिस्क में क्या होना चाहिए या नहीं: जो भी आप सबसे अधिक बार उपयोग करते हैं वह स्वचालित रूप से मुख्य मेमोरी में रखा जाएगा।

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

इसके अलावा, /tmpआमतौर पर लिनक्स डिस्ट्रोस पर रैमडिस्क होता है, क्योंकि यह ठीक है अगर वह डेटा खो जाता है। इस बात पर अभी भी कुछ बहस है कि क्या यह एक अच्छा विचार है, क्योंकि यदि बहुत अधिक डेटा लिखा जाता है /tmp, तो आप स्मृति से बाहर चला सकते हैं।


5
बहुत बढ़िया जवाब। ओएस में सुपरफच जैसी विशेषताएं भी हैं, जो आमतौर पर बूट समय में डिस्क से रैम में अनुरोधित डेटा को लोड करेगा।
मैथ्यू लॉक

अच्छा उत्तर। सभी शीर्ष लोग हमला करते हैं (इसे अमान्य करने की कोशिश करते हैं) सवाल वास्तव में इसका जवाब देने के बजाय
vsync

44

जैसा कि एलन श्टको इस सवाल पर अपनी टिप्पणी में बताते हैं, रैम वास्तव में सस्ता नहीं है।

यहां कुछ डेटा बिंदु दिए गए हैं। जब मैं 4 जीबी रैम, 64 जीबी एसएसडी और 1 टीबी एचडीडी (मैकेनिकल हार्ड ड्राइव) के लिए Google पर खोज करता हूं, तो यहां मेरे द्वारा देखी जा रही लागतें हैं (यह 25 अगस्त 2013 के लिए है):

वाह! HDD रैम से 100 गुना सस्ता है! और SSD रैम से 8 गुना सस्ते हैं।

(साथ ही, जैसा कि अन्य उत्तरों में बताया गया है, रैम स्वाभाविक रूप से अस्थिर है, और इसलिए आपको कुछ अन्य प्रकार के लगातार भंडारण की आवश्यकता है।)


2
रैम SSD (राइट वियर प्रॉब्लम के बिना) के परिमाण के कई ऑर्डर हैं जो कताई जंग और GLASS की तुलना में तेजी से परिमाण के कई ऑर्डर हैं। और यकीन है कि आप $ 80 के लिए 1TB डिस्क द्वारा कर सकते हैं, लेकिन SCSI या फाइबर चैनल कनेक्टिविटी के साथ 15k rpm प्लेटर पर उस स्टोरेज को खोजने का प्रयास करें। आप 4 x 250Gb @ ~ $ 250 देख रहे हैं और एक BBU कंट्रोलर (लगभग $ 500) की लागत एसएसडी के समान ही खर्च कर रहे हैं।
सिम्बियन

1
@ सिस्मबीन - यह कुछ हद तक नाइटपैकिंग है; ध्यान रखें कि बड़ी संप्रदायों में रैम प्राप्त करना (जैसा कि आप डिस्क या एसएसडी को बदलने के लिए चाहते हैं) की लागत $ 25 / जीबी से अधिक है।
रसेल बोरोगोव

3
@ एसएससी समान उद्यम विशेषताओं के साथ एसएसडीबी खरीदने पर $ 1000 से अधिक का खर्च आएगा।
mikebabcock

इस जवाब को हर कुछ महीनों में फिर से देखना और कीमत में संशोधन होना बहुत दिलचस्प होगा, और देखें कि कीमतें लगातार कैसे गिरती हैं।
ओफ़र ज़ेलिग

@ ओफ़रेलिग "देखें कि कीमतें लगातार कैसे गिरती हैं " जब आप को छोड़कर उनका मतलब नहीं होता ?
एक CVn

9

मैं अपने स्थानीय मशीन पर रैम डिस्क में सामग्री निर्माण के लिए अपने सभी तत्काल पढ़ने / लिखने के संचालन करता हूं। मैं अपने MongoDB जर्नलिंग फ़ोल्डर को भी स्टोर करता हूं, साथ ही साथ मेरे कंपाइलर और पायथन दुभाषियों और मानक पुस्तकालय। इस डिस्क को शट डाउन पर सहेजा गया है और स्टार्ट पर पुनर्स्थापित किया गया है। दूसरी रैम डिस्क जो मैं उपयोग करता हूं वह 64 मेगाबाइट की है और मेरे सभी इंटरनेट ब्राउजर के कैशे फोल्डर वहीं हैं; वह बंद होने पर खो जाता है, और जब वह भर जाता है तो खुद को बहा देता है।

मेरे द्वारा बताई गई नौकरी के लिए सही उपकरणों का उपयोग करें, जो उत्तर मैं आपको दूंगा। मैं अपने 7200rpm पश्चिमी डिजिटल की तुलना में RAM डिस्क का उपयोग करके 30-1000x तेज़ी से डेटा उत्पन्न कर रहा हूं।

यह वह कार्यक्रम है जिसका मैं उपयोग कर रहा हूं: http://www.romexsoftware.com/en-us/primo-ramdisk/

... और जब राम की 32 जीआईजी $ 200 से कम है, तो मैं यह नहीं देखता कि यह अधिक सामान्य क्यों नहीं है।

8 गिग रैम डिस्कहर रोज SATA III HDD


4
आप जानते हैं कि ओएस आपके लिए चीजों को पहले से ही ठीक कर देता है?
पोटाटोज़वाटर

"जब 32 ग्राम का राम 200 डॉलर से कम है" 1 टीबी एचडीडी पर 32 जीबी लगभग $ 3 पर शुरू होता है, देना या लेना; उपभोक्ता 1 टीबी ड्राइव आज $ 100 से कम के लिए चलते हैं, और यहां तक ​​कि एंटरप्राइज़ ग्रेड ड्राइव भी समान प्रति-गीगाबाइट की कीमतों के लिए हो सकते हैं (अमेज़ॅन $ 408 वर्तमान में 4 टीबी सीगेट ST4000NM0043 के लिए चाहता है जो $ 520 के आरआरपी को स्पोर्ट करता है, और यह भी बिना खरीदारी के सिंगल यूनिट है। चारों ओर)।
बजे एक सीवी

1
@Potatoswatter हाँ, यह करता है। लेकिन यह 10,000 नई बनाई गई फ़ाइलों को कैश नहीं करता है। तो, मैं स्पष्ट रूप से उन्हें "RAM" पर अपनी RAM डिस्क पर "कैश" करता हूं।
ब्लेकवि

@ MichaelKjörling हम 1 टीबी को रैम में स्टोर करने की कोशिश नहीं कर रहे हैं। क्या बकवास है। यथार्थवादी बनें और कुछ प्रमुख फ़ोल्डरों को चुनें जिन्हें आप हमेशा रैम में रखना चाहते हैं और आप अपने वर्कफ़्लो में कुछ कार्यों की गति को बढ़ा सकते हैं। ऊपर मेरे चित्र देखें।
ब्लेकवि

1
"सब कुछ सापेक्ष है। मेरी मशीन पर, यह मेरी 8 गीगा हार्ड ड्राइव छवि से "सब कुछ" लोड करता है; बाइट के लिए पूरे 8 गिग्स को हर बार क्लोन किया जाता है। प्रश्न के लिए, यदि आप वास्तव में ऐसा करने के लिए एक समाधान की तलाश कर रहे हैं, तो आप "संभव" के भीतर रहेंगे या "असंभव" प्रकार के उत्तर को फिट करने के लिए इसे अनुपात से बाहर उड़ा देंगे।
ब्लेकवि

5

हाँ, यह कई इन-मेमोरी डेटाबेस का आधार है जो बाजार में आ रहे हैं। एक उदाहरण एसएपी हाना है। यह विचार है कि रैम सस्ती है और रैम पर रीड / राइट ऑपरेशन के प्रदर्शन बिंदु से डिस्क संचालन की तुलना में 1000 गुना तेज है। इसलिए अधिकांश डेटा रैम में रखा जाता है और फिर आप एक डेटा उम्र बढ़ने की रणनीति को परिभाषित करते हैं, जिसके उपयोग से पुराने डेटा को वापस कोल्ड स्टोरेज (यानी डिस्क) में पुनर्नवीनीकरण किया जाता है।


4

संक्षिप्त विवरण :

पहली बार किसी एप्लिकेशन को निष्पादित किया जाता है, इसे हार्ड-डिस्क या नेटवर्क से रैम में स्थानांतरित किया जाता है। तो, चिंता न करें, आप पहले से ही ऐसा करते हैं।

लेकिन, आमतौर पर, केवल एक आवेदन / प्रक्रिया फ़ाइल नहीं होती है और हार्ड डिस्क या नेटवर्क (आवेदन की अन्य फाइलें या सिस्टम के साथ अन्य I / O संचालन आदि) के लिए लक्षित कुछ I / O संचालन होते हैं, जो आपके काम को धीमा कर सकते हैं। आवेदन। जिन्हें रैम-डिस्क पर निर्देशित किया जा सकता है, लेकिन आपको विचार करना चाहिए कि रैम-डिस्क पावर-ऑफ पर डिलीट हो जाता है और फिर से स्टार्ट-अप पर भरना चाहिए।

और रैम प्रश्न में प्रस्तुत किए गए सस्ते के रूप में नहीं है। आपको न केवल रैम की लागत, बल्कि आपके मदरबोर्ड पर सॉकेट्स (जो सीमित / दुर्लभ हैं और इस तरह अधिक मूल्यवान हैं) और खोए हुए डेटा की लागत सहित काम करने वाली रैम की लागत को गिनना चाहिए, जब बिजली कम हो रही है।

उदाहरण के लिए 1TB HDD वाले कंप्यूटर को सस्ते में खरीदा जा सकता है और यह होम कंप्यूटिंग के बारे में है, 1TB RAM वाला कंप्यूटर सुपर कंप्यूटर की श्रेणी में है। (लेकिन इंटेल कुछ मध्य स्तर पर काम कर रहा है: http://vr-zone.com/articles/more-on-xeon-e5-terabyte-of-ram-even-at-midrange-/14366.html )


4

यह एक महान सवाल है और मैं प्रतिक्रियाओं को आकर्षक लगता हूं। मैं ओरेकल डीबीए के रूप में इस पर टिप्पणी करने जा रहा हूं और मेरे उत्तर ओरेकल डेटाबेस के लिए विशिष्ट हैं। यह एक बड़ी गलती है जो बहुत से लोग ओरेकल के साथ काम करते समय करते हैं। मुझे यकीन नहीं है कि यह अन्य अनुप्रयोगों पर भी लागू होता है। यह ऑफ-टॉपिक नहीं है, लेकिन इसका मतलब एक विशेष उत्तर के रूप में है।

जब आप ओरेकल के साथ प्रदर्शन को ट्यून करते हैं, तो आप वास्तव में बाधाओं को दूर करना चाहते हैं। हालांकि हम में से अधिकांश यह नहीं कहते हैं, यह बाधाओं के सिद्धांत पर आधारित है: https://en.wikipedia.org/wiki/Theory_of_constraints

स्मृति आपकी अड़चन नहीं हो सकती है। ओरेकल में मेमोरी को प्रबंधित करने के लिए जटिल तंत्र हैं और सिर्फ बढ़ती हुई मेमोरी वास्तव में चीजों को धीमा कर सकती है अगर अन्य क्षेत्र हैं जहां अड़चन है। मैं आपको एक उदाहरण देता हूं जो बहुत आम है।

क्वेरीज़ धीमी लग रही हैं। आम सहमति अगर हम रैम को बढ़ाते हैं, तो हमें प्रश्नों की प्रतिक्रिया समय बढ़ाना चाहिए क्योंकि मेमोरी डिस्क से तेज है। खैर ... यह है कि Oracle डेटा के लिए स्मृति प्रबंधन को कैसे संभालता है। Oracle में विभिन्न प्रकार के मेमोरी लोकेशन होते हैं जो विशिष्ट कर्तव्यों के लिए आवंटित किए जाते हैं। तो आप इन यादों को बढ़ा सकते हैं। डेटा के लिए उपयोग किए जाने वाले क्षेत्र को 'बफर कैश' कहा जाता है। यह लिंक की गई सूचियों की एक श्रृंखला है (उनमें से प्रत्येक संस्करण के साथ संख्या बढ़ जाती है)। जब भी किसी क्वेरी के दौरान डिस्क पर एक ब्लॉक पाया जाता है, तो उस पर चिपकाने के लिए कौन सी सूची निर्धारित की जाए, इस पर एक हैश एल्गोरिथ्म चलाया जाता है। सूची में इसे कहां रखा जाए यह एक टच काउंट एल्गोरिथ्म (ओरेकल सपोर्ट साइट पर समझाया गया) पर आधारित है। इसलिए आपको इसे प्राप्त करने के लिए भुगतान करना होगा ... यह वास्तव में महत्वपूर्ण नहीं है)।

जब आप एक क्वेरी चलाते हैं, तो Oracle उस समय आपके द्वारा खोजी गई बफ़र श्रृंखला पर एक कुंडी निकालता है। यह LATCH (ध्यान दें: यह एक लॉक नहीं है। Google "कुंडी" यदि आपको अंतर नहीं पता है) आपके पढ़ने की अवधि के लिए उस श्रृंखला के अन्य सभी कार्यों को अवरुद्ध करता है। तो यह पढ़ता है और लिखता है (यह ओरेकल का दावा ताला पूरी तरह से अलग नहीं है की तुलना में अलग है)।

यह आवश्यक है क्योंकि जब आप श्रृंखला में ब्लॉक पढ़ते हैं, तो ओरेकल इसे इस आधार पर स्थानांतरित करता है कि यह कितनी बार 'अनुरोध' है। अधिक बार अनुरोध किए गए ब्लॉकों को शीर्ष पर ले जाया जाता है और कम अक्सर अनुरोध किए गए ब्लॉक नीचे और वृद्ध बाहर छोड़ दिए जाते हैं। आपके पास लिंक किए गए सूची को पढ़ने वाले 2 सत्र नहीं हो सकते हैं और चारों ओर बढ़ते हुए ब्लॉक हो सकते हैं या आप ऐसे बिंदुओं को मारेंगे जो गैर-मौजूद स्थानों पर इंगित करते हैं।

जब आप मेमोरी का आकार बढ़ाते हैं, तो आप प्रत्येक लिंक की गई सूची के आकार को बढ़ाते हैं। इससे सूची को पढ़ने में लगने वाला समय बढ़ जाता है। एक एकल खराब क्वेरी या जटिल क्वेरी जुड़े सूचियों को हजारों या लाखों पढ़ सकते हैं। प्रत्येक पढ़ा तेज है, लेकिन उनमें से संख्या ले जाया जाता है और ये अन्य सत्रों को अवरुद्ध करेगा। ओरेकल इसे 'लॉजिकल आईओ' (या बफर गेट या कुछ अन्य सामान) कहता है। यह लिंगो ओरेकल के लिए विशिष्ट है और आईटी के अन्य हिस्सों में इसका मतलब कुछ और हो सकता है)।

इसलिए, यदि सूची लंबी है और आपके पास वास्तव में खराब एसक्यूएल है, तो SQL स्टेटमेंट उनके लैच को लंबे समय तक पकड़ेंगे। बढ़ती स्मृति कभी-कभी REDUCE प्रदर्शन कर सकती है। अधिकांश समय, ऐसा नहीं होगा। लोग बहुत पैसा खर्च करेंगे और कोई फायदा नहीं होगा। कहा जा रहा है, ऐसे समय होते हैं जब आपको बफ़र कैश में अधिक मेमोरी की आवश्यकता होती है, लेकिन आपको यह जानने के लिए अड़चन को ठीक से पहचानना होगा कि क्या यह उचित है। मैं इस पोस्ट में इसका विश्लेषण कैसे करें, इस पर चर्चा नहीं कर सकता। DBA फ़ोरम देखें। कुछ लोग वहां इसकी चर्चा करते हैं। बल्कि जटिल है।

क्या किसी के पास सॉफ्टवेयर के अन्य टुकड़ों के साथ विशिष्ट उदाहरण हैं जहां ऐसा हो सकता है? Go द गोल ’नामक एक भयानक व्यवसायिक पुस्तक है जो एक कारखाने में बाधाओं को कम करने पर चर्चा करती है। यह प्रक्रिया बहुत कुछ वैसा ही है जैसा कि प्रदर्शन के मुद्दों का मूल्यांकन करते समय ओरेकल डीबीए करते हैं। यह अक्सर एमबीए कार्यक्रमों में मानक पढ़ने है। आईटी व्यवसायों के लिए पढ़ना बहुत मूल्यवान है।

https://en.wikipedia.org/wiki/Eliyahu_M._Goldratt


इस सवाल का रहस्योद्घाटन नहीं है, लेकिन अन्यथा दिलचस्प है।
जेबी

इसका एक कारण सिर्फ राम जोड़ना नहीं है। यह विशिष्ट और संकीर्ण है, लेकिन मुझे लगता है कि यह लागू होता है।
बॉब

बहुत ही रोचक। यह समग्र चर्चा में एक और कोण लाता है।
लॉरेंज लो सॉयर

3

रैम सस्ता हो सकता है लेकिन पारंपरिक स्टोरेज जितना सस्ता नहीं।

मेरे पास एक 3TB हार्ड ड्राइव ($ 99): HDD उद्धरण है

और आपको 3TB के लिए इनमें से 48 की आवश्यकता होगी ($ 719) प्रत्येक: RAM भाव

यह कुल $ 34,512 बनाम $ 99 होगा। 3TB RAM को चलाने के लिए आवश्यक हार्डवेयर की कीमत का उल्लेख नहीं करना चाहिए।


जवाब सवाल लिए प्रासंगिक नहीं है
BlueBerry - Vignesh4303

1
मुझे लगता है कि अंत में वह कहने की कोशिश कर रहा है "रैम सस्ता नहीं है।"
जकजिल

इसके अलावा, आप संभवतः उन 8 चैनल किटों में से 48 को किसी भी डिवाइस से कनेक्ट नहीं कर सकते हैं जो मुझे पता है। हालाँकि ऐसे सिस्टम हैं जो 16 (या अधिक) 64 GB REG ECC डिम को एक ही सर्वर में स्वीकार करते हैं। हालाँकि ये बिल्कुल सस्ते नहीं हैं।
drescherjm

2

यह वास्तव में कुछ परिदृश्यों में किया जाता है। यदि आपके पास एक ऑपरेटिंग सिस्टम / ऐप काफी छोटा है, तो आप इसे पूरी तरह से रैम में चला सकते हैं। निश्चित रूप से इसके सभी नुकसान हैं जो स्वीकृत उत्तर के पास हैं। लेकिन यह संभव है और होता है।

पिल्ला लिनक्स, एक लोकप्रिय लिनक्स वितरण पर एक नज़र डालें। यह कैसे काम करता है, यह RAM से चलने के बारे में पेज की वार्ता: http://puppylinux.org/wikka/howPuppyWorks


और निश्चित रूप से, क्लस्टर वातावरण में, आप वितरित / नेटवर्क फाइल सिस्टम पर ऐप को ढेर रख सकते हैं, पीएक्सई या इसी तरह के माध्यम से बेस ओएस की सेवा कर सकते हैं, और यदि आप चाहते हैं, तो डिस्क को बिना डिस्क के चला सकते हैं।
ऐसिन

2

मुझे लगता है कि उत्तर आंशिक रूप से उत्तर दिया जा सकता है:

परिसर:

  • केवल उन प्रकार के रैम सस्ते होते हैं जो बड़ी मात्रा में उत्पादित और बेचे जाते हैं
  • RAM निर्माता अपने उत्पाद को बेचना चाहते हैं।
  • कम कीमत लाभ कमाने के लिए बढ़िया वॉल्यूम बेचने की मांग करती है
  • एक बड़ा उपयोगकर्ताबेस एक स्थापित मेमोरी-तकनीक का उपयोग करता है
  • नई मेमोरी तकनीक को व्यापक रूप से अपनाया जाने में वर्षों लगते हैं
  • उपयोगकर्ता स्लॉट्स के छोटे उपकरणों में मेमोरी स्लॉट अत्यधिक सीमित होते हैं
  • मोबाइल तकनीक बढ़ रही है
  • 1Bil का कम से कम 0.1%। PC उपयोगकर्ता 128GB RAM या अधिक (अनुमान) का विकल्प चुन सकते हैं
  • प्रौद्योगिकी-अद्यतन जो उच्च मांग में हैं, नई प्रौद्योगिकी-पीढ़ियों की तुलना में अधिक लाभ में बदल जाते हैं

सीमित संख्या में मेमोरी-स्लॉट्स को देखते हुए, एक महत्वपूर्ण समाधान छोटे आंतरिक आयामों, और / या 3 डी स्टैकिंग के साथ उच्च मेमोरी चिप्स के रूप में आता है। दोनों प्रक्रियाएं पिछले 36+ महीनों में अपेक्षित थीं।

तो सवाल यह है: " DDR3 अधिकतम मेमोरी आकार " या शब्दार्थ: " DDR3 क्यों कोई मेमोरी मॉड्यूल 16GB से अधिक नहीं है "

और जवाब है:

DDR3 मानक 8 मेगाबिट्स में 512 मेगाबिट्स की चिप क्षमता के लिए अनुमति देता है, प्रभावी रूप से 16 गीगाबाइट ( src ) के अधिकतम मेमोरी मॉड्यूल आकार को सक्षम करता है।

DDR4 इसे बदल देगा, जैसा कि इस प्रौद्योगिकी-मानचित्र में उल्लिखित है:

यहां छवि विवरण दर्ज करें

नतीजा:

  • एक अर्ध-गतिरोध मेमोरी-मार्केट
  • Apple मैकबुक प्रो एक्सट्रावगांजा 16 जीबी में रुक रहा है
  • क्लाउड या दूरस्थ सेवाओं के लिए अधिक मांग (उन वर्चुअल मशीनों और InMemory डेटाबेस को घर में रखने के लिए कई डेवलपर्स और इंजीनियर बस खुशी से स्थानीय स्तर पर चलेंगे)
  • ... ???

हेंनेस के कुछ पोस्ट पूरी तरह से पोस्ट:

  • आम डेस्कटॉप (DDR3) रैम सस्ता है, लेकिन यह इतना सस्ता नहीं है : कुछ लोग अपने डेटा-गहन पृष्ठभूमि के कारण इसे खरीदने के लिए काफी सस्ते हैं।
  • रैम बंद होने पर अपनी सामग्री खो देता है : मनुष्यों ने अस्थिर स्मृति की तुलना में कठिन समस्याओं का सामना किया है। 2010 के बाद से "अस्थिर स्मृति को संभालने" पर पेटेंट और समाधान इसकी गवाही हैं।
  • रैम अधिक शक्ति का उपयोग करता है : मोबाइल उपकरणों में अप्रयुक्त मेमोरी (बैंकों) को बंद कर दें। इसके अलावा 800W GPU की तुलना में 1W से 2W pales
  • आपको बहुत सारे डीआईएमएम सॉकेट की आवश्यकता होगी : चिप-तकनीक अभी भी सामान्य रूप से आगे बढ़ी है, जिसका अर्थ है कि उच्च मेमोरी-चिप्स का विकल्प मौजूद नहीं है, लेकिन चिप-निर्माता खुशी से उन्हें उच्च मात्रा में बेच देंगे।
  • आपको अपने प्रोग्राम चलाने के लिए RAM की भी आवश्यकता होगी : True लेकिन यह pkr298माना जाता है कि पूरे ओएस और कार्यक्रमों को रैम में लोड किया जाता है, न कि यह कि हार्ड ड्राइव / एसएसडी को खत्म करना चाहिए

डीआरएएम में अप्रयुक्त मेमोरी बैंकों को स्विच करना एक समस्या है। DRAM तकनीक से कोशिकाओं को तरोताजा होने की आवश्यकता होती है। यह एक टपका हुआ बाल्टी के लिए पकड़। अगर मैं इसे पानी (बिजली) से भरता हूं तो यह 1 का प्रतिनिधित्व करता है, अगर मैं इसे खाली करता हूं तो यह 0. का प्रतिनिधित्व करता है। दुर्भाग्य से बाल्टी टपकी हुई है और उथले पानी में खड़ी है। एक पूर्ण बाल्टी धीरे-धीरे खुद को खाली कर देगी जब तक कि यह जल स्तर से मेल नहीं खाती। एक खाली बाल्टी धीरे-धीरे पानी के स्तर से मेल खाती है। आ के बाद जबकि यह नहीं बता रहा है कि बाल्टी की स्थिति क्या थी।
हेन्नेस

इसे हल करने के लिए कोई हर बार बाल्टी से आगे बढ़ता है। यदि यह ज्यादातर भरा हुआ है तो बाल्टी को ऊपर से हटा दिया जाएगा; अगर यह ज्यादातर खाली है तो इसे पूरी तरह से खाली कर दिया जाएगा। यह एक ताजगी है । एक मेमोरी सेल को रिफ्रेश करने से ऊर्जा मिलती है, जिससे DRAM को अपनी सामग्री रखते हुए पूरी तरह से बंद होने से रोका जा सकता है। --- इसके आस-पास के रास्ते हैं, जैसे SRAM को बाहरी रिफ्रेश की जरूरत नहीं है और फिर भी इसकी सामग्री रख सकते हैं, लेकिन इसके लिए अधिक सिलिकॉन (इस प्रकार छोटे या अधिक महंगे चिप्स) की आवश्यकता होती है।
हेन्नेस

1

आप वास्तव में सही हैं निकट भविष्य में, सभी भंडारण और मेमोरी नैनो रैम के रूप में होंगे। एनआरएएम मूल रूप से "मैकेनिकल" स्विच है जो कुछ परमाणु व्यापक हैं, इसे राज्य बनाए रखने के लिए वर्तमान की आवश्यकता नहीं है, इसलिए यह ऊर्जा कुशल है और इसे ठंडा होने की आवश्यकता नहीं है, क्योंकि स्विच इतने छोटे हैं कि घनत्व बहुत अधिक है यह दो कारणों से अच्छा है, एक है मेमोरी की पहुंच बहुत तेज है और आप सेलफोन पर छोटे उपकरणों पर डेटा की टेराबाइट कर सकेंगे। अगर आप इसे और अधिक पढ़ना चाहते हैं: http://www.nantero.com/mission.html और यह http://en.wikipedia.org/wiki/Nano-RAM


0

जैसा कि अन्य लोगों ने कहा है कि RAM अस्थिर है और SSDs की लागत 10x जैसी कुछ है।

हालांकि, वहाँ है वहाँ बाहर एक उत्पाद है कि सुंदर है कि तुम क्या वर्णन कर रहे हैं के करीब आता है - दुर्भाग्य से मैं नाम याद नहीं आ रहा।

यह रैम-आधारित ड्राइव (IIRC अधिकतम 64gb) सीएफ कार्ड और बैटरी के साथ क्या है। जब आप सिस्टम को चालू करते हैं तो यह CF कार्ड की सामग्री को RAM में कॉपी कर देता है (मेरा मानना ​​है कि CF कार्ड से सेवा अनुरोध अगर वे अभी तक लोड किए गए हैं।) शटडाउन पर RAM की सामग्री को CF कार्ड में कॉपी किया जाता है- बैटरी खत्म होने से पहले इसे खत्म करने की अनुमति देने के लिए पर्याप्त बड़ी है।

यह सस्ता नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.