थ्रैशिंग (रैम से बाहर) होने पर मेरे सिस्टम को अनुत्तरदायी बनने से कैसे रोकें?


11

मेरे पास 8GB RAM है, लेकिन कभी-कभी मैं अपनी स्मृति का अधिकांश उपयोग करने के लिए एक जोड़ी VM और पर्याप्त Chrome प्रक्रिया चला रहा हूं। यह आमतौर पर ठीक है, लेकिन कभी-कभी मेरा सिस्टम जोर से शुरू होता है, और यूआई ज्यादातर जमे हुए होने के बाद चीजों के इंतजार के बिना मेरे लिए इससे उबरना मुश्किल होता है।

इन सभी मामलों में, मेरे अधिकांश रैम का उपयोग करने वाले कार्यक्रमों को चित्रित किया जा सकता है। यदि क्रोम या वीएम गैर-जिम्मेदार हो गए लेकिन मेरा चित्रमय वातावरण और टर्मिनल अभी भी उत्तरदायी थे, तो मैं एक टर्मिनल पर स्विच कर सकता हूं, अपराधी को ढूंढ सकता हूं और उसे मार सकता हूं। मैं स्मृति के लिए "अच्छा" की तरह कुछ कल्पना कर सकता हूं (ताकि मैं अच्छा क्रोम और मेरा वीएम कर सकूं) या कुछ ऐसा हो जो चित्रमय वातावरण और मेरे टर्मिनल को स्मृति में रहने और स्वैप न करने के लिए मजबूर कर सके।

क्या यह सुनिश्चित करने का एक तरीका है कि जब मेरा सिस्टम जोर दे रहा है तो UI उत्तरदायी रहे?

धन्यवाद!

संपादित करें: मुझे अभी भी दिलचस्पी है कि क्या स्मृति के लिए एक अच्छा जैसा कुछ है, लेकिन मुझे अभी पता चला है कि मेरी सिस्टेम में कोई स्वैप स्थान नहीं है। मुझे लगता है कि ऐसा इसलिए हुआ क्योंकि मैंने एक एन्क्रिप्टेड घर और एन्क्रिप्टेड स्वैप का उपयोग करना शुरू कर दिया था (देखें कि स्वैप एन्क्रिप्टेड होम का उपयोग करके साफ 14.04 इंस्टॉल पर काम नहीं कर रहा है )। इसलिए, मेरा सिस्टम संभवतः अनुत्तरदायी बन रहा है क्योंकि मेरे पास कोई स्वैप स्थान नहीं है, इसलिए मेरा सिस्टम मेमोरी पर कम होने पर अनावश्यक कार्यक्रमों को स्वैप नहीं कर सकता है।


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

1
मैं अभी भी एक RAM- अच्छी शैली की चीज में दिलचस्पी रखता हूं क्योंकि मेरे सामने मेरे प्रश्न में वर्णित एक के समान समस्याएं हैं, जबकि मेरे पास एक स्वैटर फ़ाइल भी थी।
सैम राजा

जवाबों:


2

मुझे अभी पता चला है कि मेरे सिस्टेम में कोई स्वैप स्थान नहीं है

अगर यह सच है, तो यह शायद समस्या में योगदान दे रहा है।

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

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

उस सिस्टम पर जहां आप VMs चला रहे हैं, लेकिन आप VM होस्ट पर एक नियमित डेस्कटॉप का उपयोग कर रहे हैं , आप नहीं चाहते कि आपका VM आपके सभी RAM को ले जाए, वास्तव में मैं आपकी आधी RAM (4GB तक) बचाऊंगा ) होस्ट के लिए, यह देखते हुए कि आप होस्ट पर सॉफ़्टवेयर चला रहे हैं और चाहते हैं कि यह उत्तरदायी हो।

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

क्या यह सुनिश्चित करने का एक तरीका है कि जब मेरा सिस्टम जोर दे रहा है तो UI उत्तरदायी रहे?

जब आपके पास रैम की मात्रा एक समस्या है, तो आप जो कुछ भी कर सकते हैं वह केवल एक हैक है - असली समाधान अधिक रैम खरीदना है (हालांकि आपके मामले में जैसा कि मैंने उल्लेख किया है कि आप केवल वीएम से कम आवंटित कर सकते हैं)।

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

मैं स्मृति के लिए "अच्छा" जैसा कुछ कल्पना कर सकता था (ताकि मैं अच्छा क्रोम और मेरा वीएम कर सकूं)

वास्तव में "स्मृति के लिए अच्छा" नहीं है। मेमोरी एक्सेस इतनी तेज़ है कि आप आमतौर पर व्यावहारिक रूप से इसे अनदेखा कर सकते हैं। जब आप थ्रशिंग करते हैं, तो यह मेमोरी नहीं है, यह डिस्क है, यही समस्या है। इस वजह से एक "आयनिस" है। हालांकि यह शायद वह नहीं है जो मैं आपके मुद्दे के लिए सुझाऊंगा।

"मेमोरी के लिए अच्छा" के बराबर एक और मोटा स्वैप है - आप यह नियंत्रित नहीं कर सकते हैं कि प्रत्येक प्रक्रिया अलग-अलग कैसे होती है, लेकिन सिस्टम काम करने का एक बहुत अच्छा काम करता है, जिसे आप सक्रिय रूप से उपयोग कर रहे हैं और इसलिए उच्च प्राथमिकता रखी जाती है। राम।

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

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