रैम को नेटवर्क पर शेयर करें


48

मेरा सहकर्मी एक ऐसे एप्लिकेशन का उपयोग कर रहा है जो बहुत अधिक मेमोरी का उपभोग करता है जो सिस्टम को बहुत धीमा कर देता है। क्या इंटरनेट पर अन्य पीसी के साथ मेमोरी साझा करना संभव है?

सिस्टम में 8 जीबी रैम है, और एप्लिकेशन 6 जीबी से अधिक खपत करता है।


5
रिमोट डेस्कटॉप, या VNC, या X11 के माध्यम से एक उच्च-शक्ति वाले सर्वर पर इसे चलाएं ??
WGroleau

3
कैश के रूप में बड़े स्टोरेज ड्राइव (HDDs या SSDs) का उपयोग करना बेहतर है, क्योंकि पहले से ही उत्तर दिए गए हैं।
फायरबग


79
आपको और अधिक रैम डाउनलोड करने का सौभाग्य प्राप्त हो सकता है ...
मेहरदाद

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

जवाबों:


161

मैंने केवल एक स्टैंडअलोन एप्लिकेशन पर विचार किया है जो "मानक" मशीन पर चलता है, जिसमें इसे कहीं और स्थापित करने या विशेषज्ञ हार्डवेयर या सॉफ़्टवेयर का उपयोग करने की क्षमता नहीं है। अन्य उत्तर (सही ढंग से) कार्य के लिए सॉफ्टवेयर माइग्रेशन या समर्पित हार्डवेयर को संबोधित करते हैं।

किसी नेटवर्क के माध्यम से "रैम साझा करने" का कोई भी तरीका उस नेटवर्क माध्यम की सीमाओं के अधीन होगा। जैसा कि गीगाबिट ईथरनेट भी लगभग 100 एमबी / एस (मेगाबाइट) तक सीमित है, इसका मतलब है कि आपकी "रैम" की गति भी सीमित होगी।

100 एमबी / एस रैम की गति का एक छोटा अंश है जो वास्तव में आपके सिस्टम में है। आपका कार्यक्रम दर्दनाक रूप से धीमा होगा और ऐसा महसूस होगा कि यह 90 के दशक की शुरुआत से कंप्यूटर पर चल रहा है

आधुनिक हार्ड ड्राइव अनुक्रमिक पढ़ने और लिखने के लिए हैं, इससे थोड़ा तेज। SSD कई गुना तेज हैं।

यह विलंबता की समस्याओं की अनदेखी कर रहा है जो आपके कार्यक्रम को फिर से परिमाण को धीमा करने का आदेश देगा।

धीमेपन और अन्य तकनीकी मुद्दों के कारण यह एक ऐसा मुद्दा नहीं है जिसे किसी ने कभी भी "घर" या "कार्यालय" सिस्टम के लिए हल करने के प्रयास के लायक नहीं माना है। जरूरत पड़ने पर ज्यादा रैम खरीदना सस्ता और कारगर है।

बस एक पृष्ठ फ़ाइल के लिए अधिक रैम, या यहां तक ​​कि एसएसडी खरीदें। ऐसा करने का कोई अन्य तरीका नहीं है, जिसमें कम लाभ के लिए काम की मात्रा या हार्डवेयर की आवश्यकता नहीं होती है।


46
गीगाबिट ईथरनेट पर स्वैपिंग / पेजिंग में स्थानीय चुंबकीय डिस्क पर पेजफाइल की तुलना में कम विलंबता हो सकती है । उदाहरण के लिए, स्थानीय ईथरनेट के लिए 1 ms पिंग समय के तहत 10 एमएस डिस्क विलंबता। यदि पेजफ़ाइल (या iSCSI डिवाइस जिसे आप स्वैप कर रहे हैं) को पकड़े हुए फ़ाइल सर्वर इसकी रैम में गर्म रहता है , तो आप संभावित रूप से जीत जाते हैं। IDK अगर विंडोज नेटवर्क फाइल में पेजिंग का समर्थन करता है। (मुझे पूरा यकीन है कि लिनक्स करता है, लेकिन यह एक विंडोज सवाल है)। ओह, बस देखा कि सवाल "इंटरनेट पर" कहते हैं, इसलिए एन.वी.एम.
पीटर कॉर्ड्स

2
@MarkHu ने सुपर यूजर पर यह पूछा गया था, मुझे नहीं लगता कि पूछने वाले का उपयोग किए जा रहे सॉफ़्टवेयर के कोड पर कोई नियंत्रण है।
ओल्डमड0

2
@PeterCordes जो आप वर्णन करते हैं वह अभी भी अधिक रैम या एसएसडी खरीदने पर नुकसान है। और इससे भी ज्यादा निश्चित रूप से विंडोज में। ;)
jpmc26

11
घर और "सामान्य" कार्यालय उपयोग के लिए @TomTom गीगाबिट अभी भी बहुत ज्यादा है जो आपको अपने डेस्कटॉप मशीन पर मिलता है। सिर्फ इसलिए कि बैकबोन इंफ्रास्ट्रक्चर के लिए 25G और 100G आम हैं (या कम से कम अस्वाभाविक) इसका मतलब यह नहीं है कि आप इसे डेस्कटॉप पर देख सकते हैं। मैं भी नहीं कर सकते हैं लगता है एक उचित कीमत पर किसी भी स्थानीय आपूर्तिकर्ता पर एक डेस्कटॉप 10GigE कार्ड, अकेले एक 25GigE। 10GigE कार्ड यहां 8GB मेमोरी स्टिक की लागत का 4 गुना है। मुझे पता है कि मैं एक उचित उन्नयन पर विचार करूंगा।
Mokubai

9
"ऐसा महसूस होता है कि यह 90 के दशक की शुरुआत से कंप्यूटर पर चल रहा है" - अजीब बात है, 90 के दशक के कंप्यूटर आज के कंप्यूटरों की तुलना में बहुत तेजी से महसूस करते हैं।
जेरेमी विसर

74

बस पूर्णता के लिए: InfiniBand अन्य मशीनों की मेमोरी तक सीधे पहुंच की अनुमति देता है।

हालाँकि, इसकी आवश्यकता है:

  • एक InfiniBand स्विच
  • एक InfiniBand प्रत्येक मशीन में कार्ड को जोड़ता है
  • इसका उपयोग करने के लिए एप्लिकेशन को विशेष रूप से प्रोग्राम किया जाना है

यह मौजूदा नेटवर्क पर काम नहीं करता है, इसके लिए सभी जुड़े नोड्स के लिए पूरी तरह से स्वतंत्र बुनियादी ढांचे की आवश्यकता होती है। यह इंटरनेट पर भी काम नहीं करता है


53
यह निश्चित रूप से एक और 8 GiB या RAM :-) की तुलना में बहुत अधिक महंगा है।
sleske

40
ओह, केवल एक परिमाण के अनुसार या तो;)
गेराल्ड श्नाइडर

7
आपको infiniband की जरूरत नहीं है, RoCE भी संभव है। हालाँकि, इसके लिए NDM की आवश्यकता होती है जो RDMA का समर्थन करते हैं और शायद NIC का समर्थन करने के लिए एक नया स्विच, और RDMA का उपयोग करने के लिए एक एप्लिकेशन प्रोग्राम किया जाता है।
alex.forencich

7
+1 क्योंकि यह एक महान और सही है लेकिन इस स्थिति के लिए - पूरी तरह से बेकार उत्तर :-)
daniel.neumann

1
आप करते हैं - जब तक कि आपको 25 जी या 100 जी नहीं मिलते हैं जो अधिक महंगे हैं। RDMA विलंबता समस्या को हल नहीं करता है।
टॉम टॉम

19
Is there any alternative solution?

यह डेटा की प्रकृति पर अत्यधिक निर्भर करता है।

आप 2 अलग मशीनों पर 2 अलग mysql सर्वर चला सकते हैं।

फिर 1/2 में डेटा को विभाजित करें और स्वचालित रूप से यह जानने के लिए प्रोग्राम लिखें कि किस सर्वर पर जाना है।

यदि आपके पास उपलब्ध है तो बेशक यह किसी भी संख्या में सर्वर तक पहुंचा जा सकता है।


मैंने यह उल्लेख करते हुए विचार किया था कि आम तौर पर जिस तरह से हम "मेमोरी को साझा करते हैं" उस एप्लिकेशन को सक्रिय रूप से किसी अन्य मशीन में ले जाते हैं और फिर जो भी तरीके उपलब्ध हैं उसके माध्यम से दूरस्थ रूप से काम करते हैं। यह निश्चित रूप से अधिक मेमोरी खरीदने का एक विकल्प है, खासकर अगर एक और मशीन पहले से ही उपलब्ध है। +1
Mokubai

1
एक दूरस्थ डेस्कटॉप की तरह?
अभिनव

4
आपके पास अलग-अलग OS चलाने वाले 2 कंप्यूटर हैं, और हर एक में mysql की एक प्रति चल रही है। तो कंप्यूटर # 1 192.168.0.1 और कंप्यूटर # 2 192.168.0.2 (या जो भी हो) हो सकता है अपने मुख्य पीसी पर अब आप अपने डेटा को पुनः प्राप्त करने के लिए उन दोनों आईपी के लिए कर सकते हैं। माईसकल या इसके नि: शुल्क प्रतिस्थापन मारीदब आपके कार्यक्रम में जोड़ने के लिए लाइबिमस्कल जैसे पुस्तकालयों की पेशकश करता है, इसलिए इसमें Mysql की मूल पहुंच है। यह एक दूरस्थ डेस्कटॉप, इसका क्लाइंट-सर्वर और / या क्लाइंट और कई सर्वर संबंध नहीं है।
साइबरनार्ड

15

हां, नेटवर्क ब्लॉक डिवाइस प्रोटोकॉल का उपयोग करके, ऐसा करना आसान है (और मैंने डिस्कलेस सिस्टम को स्वैप की आवश्यकता के लिए किया है)।

nbd-serverसर्वर मशीन पर स्थापित करें , और इसे प्रति-मेजबान फ़ाइलों को ऑटो-कॉन्फ़िगर करने के लिए कॉन्फ़िगर करें।

सुनिश्चित करें कि आपकी ग्राहक मशीनों ने एनबीडी को अपनी गुठली में संकलित किया है, और फिर उन्हें एनबीडी-माउंटेड डिवाइस पर स्वैप करने के लिए कॉन्फ़िगर करें। nbd-clientपैकेज कर सकते हैं।

क्षमा करें यदि ऊपर थोड़ा अस्पष्ट है - मैंने जिन मशीनों पर यह किया है वे यहां से उपलब्ध नहीं हैं; मैं उन विवरणों को भरने में सक्षम हो सकता हूं जब मेरे पास उनकी पहुंच है।

एक वैकल्पिक NBD सर्वर कार्यान्वयन कहा जाता है nbdkit; मैं इसके बारे में कुछ नहीं जानता।


मैंने अभी देखा है कि प्रश्न में विंडोज टैग है। मुझे विंडोज के बारे में कुछ भी पता नहीं है - क्षमा करें।
टोबे स्पीट

8
+1, LAN पर GigE की अदला-बदली एक स्थानीय चुंबकीय हार्ड ड्राइवर की तुलना में कम विलंबता होनी चाहिए, यदि आप जिस फ़ाइल-सर्वर की अदला-बदली कर रहे हैं, वह स्वैप फ़ाइल को उसके RAM में कैश्ड रखता है । HD ~ 10ms बनाम लैन पिंग समय ~ 0.25 एमएस के समय की तलाश है। कोई विचार नहीं अगर विंडोज विंडोज फाइल शेयरिंग (SMB) या किसी अन्य प्रोटोकॉल पर एक पेज फ़ाइल के साथ उदाहरण के समान कुछ भी कर सकता है, लेकिन शायद iSCSI काम कर सकता है। ओपी "इंटरनेट पर" का उल्लेख करता है; यह एक अच्छा विचार नहीं होगा। जब तक आपका पिंग टाइम आपके HD रैंडम-एक्सेस लेटेंसी से कम नहीं होता, तब तक यह जीत नहीं है।
पीटर कॉर्ड्स

मैं यह नहीं देखता कि यह "अतिरिक्त रैम" के रूप में कैसे योग्य है। यह स्थानीय डिस्क पर फ़ाइल के लिए कुछ डेटा डंप करने से अलग नहीं है, नहीं?
ivan_pozdeev

Wndows क्लाइंट के लिए, कोई सांबा के माध्यम से लिनक्स में एक ब्लॉक डिवाइस साझा कर सकता है और इसे विंडोज में एक डिस्क के रूप में माउंट कर सकता है ImDisk (आकार को मैन्युअल रूप से निर्दिष्ट करने की आवश्यकता होगी)।
ivan_pozdeev

मैंने लिनक्स में अतीत में भी ऐसा किया है, हालांकि मैंने अपने स्वयं के nbd सर्वर-क्लाइंट कार्यान्वयन का उपयोग किया है, लेकिन nbd ब्लॉक डिवाइस को स्वैप विभाजन के रूप में उपयोग करने के लिए ठीक काम किया है।
१३

9

छोटे, महत्वहीन विवरण "विंडोज 10, वर्कस्टेशन में 8 जी बी रैम है" को देखते हुए, वास्तव में केवल एक ही जवाब है: अधिक रैम खरीदें और कम बकवास चलाएं।

SSD खरीदना और पेज फ़ाइल को वहाँ रखना सबसे अच्छा विकल्प होगा, लेकिन वास्तव में ... अधिक RAM खरीदें।

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

विंडोज 10 चलाने के लिए 8 जीबी लगभग पर्याप्त नहीं है और एक ही समय में एक मेमोरी-भूखा एप्लिकेशन है। यह एक ही समय में वर्ड, एक्सेल और आउटलुक चलाने के लिए मुश्किल से पर्याप्त है। यह वास्तव में विशिष्ट पूरी तरह से अनुपयोगी "कुल बकवास कॉर्पोरेट सेटअप" है, जिसे लाखों लोगों को अपने काम के लैपटॉप पर हर दिन के साथ रहना पड़ता है। एक अन्य मेमोरी मॉड्यूल में 100-200 मुद्रा का निवेश करें, और यह एक सप्ताह के भीतर इसकी लागत को बढ़ाता है (जो चीजें मिनट लगते हैं अब सेकंड लगते हैं, और समय पैसा है - अकस्मात यह अक्सर आपके स्थानीय बीन काउंटर के सिर में प्रवेश करना मुश्किल होता है)।

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

लेकिन वास्तव में, बस रैम खरीदें ... यह विंडोज बकवास को काटने पर अपने कीमती समय के घंटे खर्च करने की तुलना में बहुत तेज़ और आसान है।


2
क्या खिड़कियां वास्तव में राम पर खराब हैं? मैं डेबियन को पूरी प्रणाली के साथ चला रहा हूँ RAM (कोई भौतिक ड्राइव नहीं) और इसमें दर्जनों ओपन वेब ब्राउज़र टैब, लिबर ऑफिस टेक्स्ट और स्प्रेडशीट, जिम्प फोटो एडिटिंग हो सकते हैं, और एक वीडियो देखें या संगीत सुनें, जिसमें लगभग 3 गिग्स छूटेंगे कुल 8GB पर कार्यक्रमों या फ़ाइलों के लिए स्थान। मैं एक जीत-नफरत नहीं कर रहा हूँ, लेकिन आपके शब्दों से "कुल बी एस कॉर्पोरेट सेटअप" खुद को खिड़कियों की तरह लगता है ...
Xen2050

1
ठीक है, यह विवादित है - ओपी के पास यह अधिकार है। समय के साथ मैंने 8 जीबी मैकनिंस को 2010 के आसपास खरीदा था। यह 2017 है। 16 जीबी मेमोरी का उपयोग करने वाले एप्लिकेशन कुछ क्षेत्रों में दुर्लभ नहीं हैं (संकेत: ईमेल नहीं लिखना और नहीं, शब्द भी ठीक है, ज्यादातर लोग इस पर उपन्यास नहीं लिखते हैं)। यह एक छोटा निवेश है - 16 जीबी मेमोरी एक शानदार दोपहर का भोजन या कुछ और है।
टॉमटॉम

7
@ Xen2050 मैं सोच रहा था कि क्या यह वास्तव में खराब है, इसलिए मेरे 6 जीबी विंडोज 10 मशीन पर मैंने आउटलुक, एक्सेल, वर्ड, एज खोला है, मुझे SQL सर्वर चलाने का एक बहुत छोटा उदाहरण मिला है, मालवेयरबाइट 170MB के साथ कुछ कर रहा है , मैंने विजुअल स्टूडियो 2017 खोला, मुझे यहाँ फ़ायरफ़ॉक्स खुला मिला है, और मैं 65% मेमोरी उपयोग में हूँ और विंडोज को संपीड़ित मेमोरी का उपयोग करना भी शुरू नहीं करना पड़ा है। इसलिए, आईएमई, विंडोज 10 8 जीबी से कम रैम के साथ ठीक चलता है और वैसे भी, डेमन का विंडोज के प्रति नापसंद जवाब के लिए अप्रासंगिक है।
एंड्रयू मॉर्टन

1
@ डामन: लेकिन जब तक आपने अतिरिक्त रैम का उपभोग करने वाले किसी प्रकार का विश्लेषण नहीं किया था, तब तक "विंडोज क्रैप" बनाम "नियोक्ता द्वारा स्थापित aftermarket बकवास" पर दोष देने का कोई आधार नहीं है। चूंकि बहुत से लोगों ने (स्वयं सहित) विंडोज -7, विंडोज 8.x और विंडोज 10 पर मेमोरी-इंटेंसिव गणना की है, इस तरह के मुद्दे के बिना, यह दृढ़ता से सुझाव देता है (लेकिन साबित नहीं करता है) कि अपराधी भाग नहीं है विंडोज के ही।
बेन वोइगट

6

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


यदि दूरस्थ पीसी में पर्याप्त रैम है ...
लेटरलीनर

1
@ लेटरलर्मिनल यह निहित है।
क्लोन्सेक्स

2
हाँ, एक नेटवर्क पर दो मशीनों की रैम को मर्ज करना ... नेट काम नहीं करेगा, सामान्य अनुप्रयोगों के लिए नहीं (वर्ग, ग्रे प्रकार बटन और मेनू के साथ)।
रैन्डकॉम्बिनमैन

6

एक और विकल्प अस्थायी रूप से ऐसे वातावरण में एप्लिकेशन को तैनात करना है जहां राम को आसानी से ऊपर या नीचे बढ़ाया जा सकता है।

मैं एक अमेज़ॅन AWS उदाहरण को देखूंगा, जिसे एक रिबूट के साथ आकार में बदला जा सकता है।

IE एक C5.large की तरह एक छोटा सा उदाहरण 4GB RAM और 2 कोर है, और लिनक्स के लिए एक दिन में $ 2.04 USD, या एक विंडोज़ इंस्टाल के लिए $ 4.26 USD खर्च होता है। ईबीएस डिस्क स्थान एक अतिरिक्त लागत है और जीबी आवंटित के साथ रैखिक रूप से तराजू है।

आप अपने सिस्टम को इस छोटे आकार में सेट कर सकते हैं, और फिर जब आप पूरा शोर जाना चाहते हैं, तो इसे रोकें, उदाहरण के आकार को बदलें, और सॉफ़्टवेयर को चलाएं।

  • m5.4xlarge 64 जीबी रैम और 16 कोर है, विंडोज़ के लिए $ 18.44 USD / दिन या $ 36.10 USD / दिन।
  • r4.8xlarge 244 GB और 32 कोर, $ 51.07 USD / दिन या $ 86.40 USD / दिन के साथ खिड़कियों के लिए।
  • X1.32xlarge 1952 GB और 128 कोर, $ 320.12 USD / दिन या $ 461.43 / दिन के साथ खिड़कियों के लिए

या सबसे बड़ा एक ...

  • X1e.32xlarge 3904 GB और 128 कोर, $ 640.52 USD / दिन या $ 781.82 / दिन के साथ खिड़कियों के लिए। यदि आपके सहकर्मी को इससे अधिक की आवश्यकता है तो समस्या को अधिक इष्टतम तरीके से पुनर्लेखन की आवश्यकता है।

https://www.ec2instances.info/ आपको एक उपयुक्त आकार चुनने में मदद करेगा। ध्यान दें कि कुछ स्थानों की लागत अन्य की तुलना में अधिक है। सिंगापुर और उत्तरी कैलिफोर्निया महंगे हैं। हालाँकि आपका VM तब कुछ भी नहीं खर्च करता है, जब वह नहीं चल रहा हो, डिस्क स्टोरेज लागत के अलावा।

नकारात्मक पक्ष यह है कि अगर आपको लंबे समय तक इस मेमोरी की आवश्यकता है, तो वीएम समय खरीदना एक महंगा तरीका है। हालांकि लेखाकार कभी-कभी किराये की तरह परिचालन लागतों को प्राथमिकता देते हैं, उन्नयन की तरह पूंजीगत लागतों को।


1
मुझे पता है कि यह जवाब ओपी के अनुरोध के अनुसार "नेटवर्क पर राम तक पहुँचने" को संबोधित नहीं कर रहा है। यह एक दूरस्थ मेजबान तक पहुँचने की तरह है जिसमें अधिक राम हैं। हालांकि यह जानना कि कुछ जगहों पर बजट कैसे काम करता है, यह एक उचित उपाय हो सकता है कि वह काम को एक योग्य तरीके से कर सके।
क्रैगी

4

जैसा कि दूसरों ने कहा है कि यह तकनीकी रूप से संभव है लेकिन इसके लायक नहीं है।

हालाँकि यदि आप अपने कंप्यूटर के उपयोग को गति देना चाहते हैं, तो संभव है कि आपके कुछ एप्लिकेशन दूरस्थ सर्वर से बाहर हो जाएं।

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

मेरे पास जो उदाहरण है वह एक सर्वर है जो मेरे कोड का हर बार परीक्षण करता है जब मैं एक संशोधन को धक्का देता हूं। इस तरह के समाधान के साथ विचार यह है कि यह विशिष्ट उपयोग के मामलों तक सीमित है।


4

अपने पीसी के लिए अधिक रैम खरीदने के लिए आईटी से पूछें, और टास्क मैनेजर में ऐप के उपयोग के स्क्रीनशॉट का उपयोग करके आवश्यकता को प्रदर्शित करें।


4
व्यावहारिक समाधान ... यहां तक ​​कि आईटी को अन्य प्रणालियों से अधिक रैम में अस्थायी रूप से स्वैप करने के लिए कहना एक "मुक्त" उत्तर होना चाहिए।
Xen2050

2
@ Xen2050 इस बीच आप सहकर्मी रो रहे हैं क्योंकि उनका सिस्टम अब बूट नहीं है।
विल्ट

3
यह सभी भागों के पुर्जों और संपूर्ण कार्य प्रणालियों के पुर्जों को बनाए रखने के लिए ITill के लिए सामान्य और उचित है। डाउनटाइम असली लागत है।
क्रिस्टोफर बंधक

3

इसके लिए एक वाणिज्यिक समाधान है, कोव नामक कंपनी के माध्यम से ( http://kove.net/)। इसे "बैकप्लेन" (ईथरनेट काम करता है) पर काम करने के लिए एक Infiniband बुनियादी ढांचे की आवश्यकता होती है, हालांकि RoCE जैसे अन्य विकल्प कभी-कभी विशिष्टताओं के आधार पर उपलब्ध कराए जा सकते हैं। वे शून्य कोड परिवर्तन एकीकरण की अनुमति देने के लिए कई पारदर्शी इंटरफेस प्रदान करते हैं, और अधिक प्रत्यक्ष सीपीयू एक्सेस (यानी कर्नेल ओवरहेड से बचने) के साथ कर्नेल बाईपास के लिए एपीआई। प्रदर्शन के संदर्भ में, यह आपके आवेदन पर निर्भर करता है। यदि आप सीपीयू बाध्य हैं, तो प्रभाव न्यूनतम हो सकता है (जो आश्चर्यजनक हो सकता है)। यदि आप स्थानीय होस्ट पर बंधे हुए मेमोरी बैंडविड्थ हैं, तो वे आपको बड़ी मेमोरी देंगे, लेकिन आप पहले से मौजूद अड़चन से घबरा जाएंगे। इस मामले में, क्या कार्य-भार के लिए यह फायदेमंद है कि एक बॉक्स में जितनी बड़ी मेमोरी रखी जा सकती है, और रैम से बाहर नहीं चला? हमने वर्चुअलाइजेशन और अजगर मशीन लर्निंग लाइब्रेरी के साथ (बहुत) अच्छे परिणाम देखे हैं। उच्च अंत एचपीसी आवेदन बदतर होते हैं, लेकिन हमने सी एपीआई का उपयोग किया है और नोड काउंट को कम करते हुए प्रदर्शन को स्वीकार्य बनाए रखने में कामयाब रहे (नोड्स रैम के लिए थे, सीपीयू चक्र नहीं थे), जो एमपीआई की तुलना में एक प्लस है । क्या यह आपके सहकर्मी के लिए एक अच्छा समाधान है, यह बताना मुश्किल है, लेकिन यह एक विकल्प है जिस पर आप गौर कर सकते हैं। उम्मीद है की वो मदद करदे। स्पष्ट होने के लिए, मैं कोवे के लिए काम नहीं करता हूं, और कोई वित्तीय प्रोत्साहन नहीं है, लेकिन मैंने उनके साथ कई वर्षों तक सहयोग किया है और लगता है कि इस तकनीक में कुछ कंप्यूटिंग के तरीके को काफी प्रभावित करने की क्षमता है। लेकिन हमने C API का उपयोग किया है और नोड काउंट को कम करते हुए प्रदर्शन को स्वीकार्य बनाए रखने में कामयाब रहे (नोड्स RAM के लिए थे, CPU cycles नहीं थे), जो MPI की तुलना में एक प्लस है। क्या यह आपके सहकर्मी के लिए एक अच्छा समाधान है, यह बताना मुश्किल है, लेकिन यह एक विकल्प है जिस पर आप गौर कर सकते हैं। उम्मीद है की वो मदद करदे। स्पष्ट होने के लिए, मैं कोवे के लिए काम नहीं करता हूं, और कोई वित्तीय प्रोत्साहन नहीं है, लेकिन मैंने उनके साथ कई वर्षों तक सहयोग किया है और लगता है कि इस तकनीक में कुछ कंप्यूटिंग के तरीके को काफी प्रभावित करने की क्षमता है। लेकिन हमने C API का उपयोग किया है और नोड काउंट को कम करते हुए प्रदर्शन को स्वीकार्य बनाए रखने में कामयाब रहे (नोड्स RAM के लिए थे, CPU cycles नहीं थे), जो MPI की तुलना में एक प्लस है। क्या यह आपके सहकर्मी के लिए एक अच्छा समाधान है, यह बताना मुश्किल है, लेकिन यह एक विकल्प है जिस पर आप गौर कर सकते हैं। उम्मीद है की वो मदद करदे। स्पष्ट होने के लिए, मैं कोवे के लिए काम नहीं करता हूं, और कोई वित्तीय प्रोत्साहन नहीं है, लेकिन मैंने उनके साथ कई वर्षों तक सहयोग किया है और लगता है कि इस तकनीक में कुछ कंप्यूटिंग के तरीके को काफी प्रभावित करने की क्षमता है।


मेमोरी की हाउमनी गीगाबाइट्स आप इन्फिनिटीबैंड सेटअप के लिए खरीद सकते हैं?
पूजा

हाँ, यहाँ मुख्य मुद्दा यह है कि वह केवल 8 जीबी मेमोरी होने और 16 की आवश्यकता के बारे में बात करता है। यह "मैं दूरस्थ राम का उपयोग कैसे करूँ" नहीं है, लेकिन "क्यों बिल्ली मैं एक प्रणाली का उपयोग करता हूं जिसमें 10 साल पुराना चश्मा है" ।
टॉमटॉम

@ जूजा हमारे पास 6TB है। हमने जो देखा है, उसके आधार पर हमने एक सीमा नहीं देखी है। आप अतिरिक्त दूरस्थ रैम उपकरणों को जोड़कर रख सकते हैं। यह काफी रैखिक रूप से पैमाने पर लगता है, इसलिए यह एक इंजीनियरिंग / लागत समस्या है। हमने एक बार पेपर पर 1PB सिस्टम डिजाइन किया था, लेकिन जाहिर है कि यह परीक्षण करने के लिए फ़ील्ड नहीं बना सकता।
बिल

@TomTom मैंने 8GB के बारे में टिप्पणी नहीं देखी, लेकिन हाँ, स्पष्ट रूप से अगर हम 8GB बनाम 16GB RAM की बात कर रहे हैं, तो नई मशीन के लिए कुछ $ K समस्या का समाधान करेंगे।
बिल

हेक, कुछ $ सौ के लिए, आप शायद रैम को 32 जीबी में अपग्रेड कर सकते हैं, जब तक कि मदरबोर्ड हास्यास्पद रूप से पुराना और सीमित न हो।
शराबी

2

देखने का एक और बिंदु - शायद समस्या सिस्टम संसाधनों पर सीमा नहीं है, लेकिन आपके मित्र जो बेकार आवेदन लिख रहे हैं। 6 जीबी की रैम में बहुत मेमोरी है।

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

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


5
6 जीबी मेमोरी एप्लिकेशन के आधार पर एक बहुत बड़ी बात नहीं है। यहां तक ​​कि अंतिम उपयोगकर्ता फोटो एडिटिंग करते हैं (फोटोशॉप रैम से प्यार करता है और एक उच्च अंत कैमरा 64 मेगापिक्सेल चित्र शूट करता है), वीडियो एडिटिंग (बदतर), फिर गणितीय कार्य है। हेक, यहां तक ​​कि एक्सेल खुशी से जीबी के एक जोड़े का उपयोग करेगा। हर कोई ईमेल नहीं लिख रहा है, ट्विटर और ऐसी अन्य चीजों का उपयोग कर रहा है।
टॉमटॉम

@TomTom यदि आपको उच्च मेगापिक्सेल प्रसंस्करण की आवश्यकता है, तो आपको उच्च मेमोरी आवश्यकताएं होंगी (अनुरोध की प्रकृति के अनुसार)। लेकिन जब तक आप अपने एक्सेल शीट में डीएनए जीनोम स्पिलिंग नहीं कर रहे हैं और यह अभी भी जीबी रैम के एक जोड़े का उपयोग कर रहा है, कि यह बिल्कुल ब्लॉट और मैला प्रोग्रामिंग की तरह है जिसके बारे में मैं बात कर रहा हूं। आप जानते हैं, जैसे, आपके घर का बजट कम से कम 1-2-3 कुछ दशकों पहले लोटस में तेज (या तेज) संसाधित किया जा रहा था, जिसमें आपके एक्सेल की तुलना में कम रैम (और कम से कम सैकड़ों बार धीमी प्रोसेसर) के 3 ऑर्डर थे। आज की।
मतिजा नलिस

1
वाह, क्या अज्ञानी क्रोधी। मैं केवल यह मान सकता हूं कि लोगों के पास एक्सेल का उपयोग करने के साथ आपके पास बहुत कम अनुभव है। जब Microsoft ने ऑफिस के 64 बिट संस्करण को बनाया, तो उन्होंने कहा कि इसके लिए बहुत कम उपयोग है - एक्सेप्ट फॉर एक्सेस एंड एक्सेल क्योंकि कुछ लोग (ज्यादातर मैनेजर) एक्सेल के माध्यम से क्रूरतापूर्वक बड़े विश्लेषण चला रहे हैं, कई गीगाबाइट मेमोरी का उपयोग कर रहे हैं। एक्सेल के लचीलेपन और गैर-प्रोग्रामर के लिए अनुमानितता के कारण यह उपकरण पर जाता है (सांख्यिकीविदों को इसका उपयोग करने के लिए प्रशिक्षित किया जाता है)। मैंने कुछ वित्त लोगों द्वारा व्यक्तिगत रूप से 200 शीट एक्सेल फाइल देखी है।
टॉम टॉम

यदि आपका घर का बजट एक्सेल में गणना करने में लंबा समय लेता है, तो आप मेरे मुकाबले बहुत अमीर हैं। एक्सेल बनाम 1-2-3 पर दिलचस्प सवाल - कोर कैल्क लूप 1-2-3 में तेजी से हो सकता है क्योंकि यह उतना नहीं करता है। लेकिन मल्टी-कोर मशीन पर, एक्सेल आसानी से 1-2-3 को हरा देगा। और स्पष्ट रूप से विशाल जीनोम स्प्लिंग शीट शायद शीट के आकार के कारण 1-2-3 में नहीं खुलेंगे। पारदर्शिता के हितों में, मुझे स्वीकार करना चाहिए कि मैंने पूर्व में एक्सेल पर कोर कैल्क टीम में काम किया था, इसलिए मैं पक्षपाती हो सकता हूं ...
क्रिस राए

1

इसलिए उपयोगकर्ता ने नेटवर्क पर मेमोरी साझा करने के लिए HOW के लिए कहा । नहीं अगर यह एक अच्छा विचार है। तो यहाँ वास्तव में आप इसे कैसे कर सकते हैं।

मैं यह नहीं कह रहा हूं कि यह एक अच्छा विचार है, या प्रदर्शन करने वाला होगा, लेकिन यह काम करना चाहिए

  • कंप्यूटर 1 = "मास्टर" - जहां कोड निष्पादित किया गया है
  • कंप्यूटर 2 = "बच्चा" - स्मृति दाता

मुझे लगता है कि यह विंडोज सर्वर नहीं है जहां आप एक iSCSI माउंट बिंदु बना सकते हैं।

कंप्यूटर 1 चरण:

  1. डाटाराम की मुफ्त रामडिस्क डाउनलोड करें: http://memory.dataram.com/products-and-services/software/ramdisk
  2. एक रैमडिस्क बनाएं और इसे NTFS के साथ प्रारूपित करें - निर्देश उनकी साइट पर उपलब्ध हैं
  3. डिस्क प्रबंधक के भीतर, NTFS के साथ प्रारूपित रैमडिस्क पर एक VHD फ़ाइल बनाएं
  4. SMB के साथ नेटवर्क पर रामडिस्क रूट डायरेक्टरी को साझा करें - इस फ़ोल्डर को ड्राइव, शेयर, राइट क्लिक करें

कंप्यूटर 2 चरण:

  1. एक ड्राइव पर सिल्ड से साझा ड्राइव को मैप करें
  2. डिस्क प्रबंधक में ऊपर चरण 3 में आपके द्वारा बनाए गए VHD को माउंट करें
  3. स्थानीय पेज फ़ाइल स्थान को मूव किए गए VHD में ले जाएँ विंडोज पेज फ़ाइल के माध्यम से
  4. किसी अन्य पृष्ठ फ़ाइल प्रविष्टियों को निकालें।

किया हुआ!

कैविट्स - आप वीएचडी बकवास को छोड़ने में सक्षम हो सकते हैं यदि विंडोज़ आपको पेज फ़ाइल को नेटवर्क शेयर में स्थानांतरित करने देता है। ऑनलाइन (स्पष्ट कारणों के लिए) इसके कई उदाहरण नहीं हैं।

पूर्ण सिस्टम अस्थिरता हो सकती है, या पूरी तरह से कुछ और। वास्तव में कोई नहीं जानता कि क्या होगा।


0

जैसा कि आप नेटवर्क पर साझा करने के लिए "रैम" का उल्लेख करते हैं, किसी भी तरह की "मेमोरी" नहीं, अंतिम उत्तर सैद्धांतिक रूप से हां, व्यावहारिक रूप से नहीं होगा।

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

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


0

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

इसलिए, यहां कुछ संभावनाएं हैं:

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

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


विंडोज एक नेटवर्क ड्राइव पर पेजफाइल की अनुमति नहीं देगा, इसलिए भले ही यह काफी तेज हो, यह सिर्फ 'टी' किया जा सकता है।
जेमी हनराहान

@JamieHanrahan जाहिर है, अगर आप रजिस्ट्री में सीधे सेटिंग बदल सकते हैं। मुझे आश्चर्य है कि अगर उन्होंने विंडोज में नेटवर्क ड्राइव प्रति उपयोगकर्ता हैं, तो कुछ विवरणों को बाहर कर दिया। मुझे यह भी संदेह है कि यह रिबूट के बाद टूट जाएगा।
ivan_pozdeev

1
फिर भी यह एक भयानक विचार है, यही वजह है कि यूआई इसे पीछे छोड़ देता है। पेजिंग के लिए भरोसा करने के लिए नेटवर्क कनेक्शन पर्याप्त विश्वसनीय नहीं हैं। याद रखें कि बहुत कर्नेल डेटा (पृष्ठांकित पूल) को पृष्ठांकित किया जा सकता है। यदि यह सुलभ नहीं है, तो भी बहुत कम समय के लिए, OS क्रैश हो जाएगा।
जेमी हनराहान

0

यह वास्तव में इस बात पर निर्भर करता है कि यह किस प्रकार का अनुप्रयोग है और इसके लिए क्या उपयोग किया जाता है।

उदाहरण के लिए कई वेब एप्लिकेशन memcachedसर्वर से कनेक्ट होकर नेटवर्क पर रैम का उपयोग कर सकते हैं । यह बहुत सारे रैम के साथ दूसरे कंप्यूटर पर कैश डेटा (और अन्य डेटा जो कि एक्सेस करने में तेज होना चाहिए) को स्टोर करने की अनुमति देगा।

बेशक यह एप्लिकेशन विशिष्ट है और एक एप्लिकेशन की आवश्यकता है जो मेम्केड का उपयोग कर सकता है। यह आपको स्लैक का दूसरा उदाहरण खोलने में मदद नहीं करेगा क्योंकि एक ब्राउज़र ऐसे कैश बैकएंड का उपयोग करने का समर्थन नहीं करता है।


-1

रैम को साझा करने के बजाय, बस उस कोड को एक बच्चा .exe फ़ाइल बनाने के लिए , जो कि नेटवर्क पीसी पर चलाया जाएगा और उस पीसी पर भी ऐसा ही करें।

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