क्या होता है जब एक कंप्यूटर रैम से बाहर निकलता है?


9

कुछ समय पहले, जिज्ञासा से बाहर, मैंने एक जावा प्रोग्राम लिखा था जो बहुत तेजी से बहुत सारी मेमोरी लेता है। (यह एक लूप में एक सरणी सूची में बफ़रडाइम्स जोड़ता है।)

मैंने रैम सिस्टम का उपयोग करने के लिए विंडोज सिस्टम मॉनिटर को खुला रखा, क्योंकि यह चलता था।

जब मैंने प्रोग्राम शुरू किया, तो रैम का उपयोग वास्तव में तेजी से चढ़ गया, और जैसे ही यह मेरे 6GB रैम के लगभग 100% तक पहुंच गया, मेरा कंप्यूटर बेहद धीमा था। लगभग एक मिनट के बाद, मैं इस कार्यक्रम को समाप्त करने में कामयाब रहा और मेरे कंप्यूटर ने धीरे-धीरे गति प्राप्त की। मेरा ध्यान इस बात पर गया कि मेमोरी का उपयोग पहले धीरे-धीरे कम हुआ, फिर अचानक लगभग 2MB तक नीचे जाने से पहले यह लगभग 2-2.5GB तक बेकार हो गया।

मैंने सिस्टम मॉनिटर में RAM के उपयोग का स्क्रीनशॉट लिया:

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

मैं सोच रहा था कि क्या कोई यह बता सकता है कि क्या होता है क्योंकि कंप्यूटर मेमोरी से बाहर चला जाता है और यह कार्यक्रम समाप्त होने के ठीक बाद बेकार क्यों नहीं जाता है, बल्कि लगभग 60 सेकंड बाद? इसके अलावा, क्यों उपयोग केवल निष्क्रिय उपयोग के बजाय कुछ भी नहीं करता है?



यह 0MB नहीं है (या इसके करीब भी नहीं है)। मान लें कि आपने पूरे ग्राफ़ का स्क्रीनशॉट लिया है, तो सबसे कम बिंदु 814MB है ; इससे भी ज्यादा अगर आप इसे काटते हैं।
सिनटेक

जवाबों:


15

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

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

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