यहाँ कुछ चीजें हैं जो आप कोशिश कर सकते हैं, हालांकि समाधान सीधे नहीं हैं जो आपने पूछा था।
जैसा कि मैंने टिप्पणियों में कहा है, सेटिंग vm.swappiness=0
केवल कर्नेल प्रतीक्षा को तब तक करेगी जब तक कि यह स्वैप का उपयोग करने से पहले कर सकता है, इसे पूरी तरह से बंद न करें। मेरे पास इसका कोई सबूत नहीं है, लेकिन मुझे लगता है कि सेटिंग करके vm.swappiness=0
आप अपनी समस्या को और बदतर बना रहे हैं।
मेरा मानना है कि यह मामला है कि जब कुछ ऐसा होता है जो कर्नेल को स्वैप करना शुरू करने के लिए मजबूर करता है, तो संभवत: यह वास्तव में तेजी से सब कुछ स्वैप करना होगा, गति के कारण कुछ ऐसा करने में असमर्थ है जो हार्ड ड्राइव पर काम करता है। यदि आप कर्नेल को स्वैप करने के लिए चुनते हैं, तो यह डेटा को स्वैप करना शुरू कर देगा जो पहले के समय में कम उपयोग किया जाता है, और रैम से स्वैप करने के लिए बहुत सारे डेटा को स्थानांतरित नहीं करना पड़ता है जब चीजें किसी न किसी तरह से मिलती हैं। सामान्य तौर पर यह कर्नेल दक्षता को बढ़ाएगा।
तुम भी एक स्क्रिप्ट का उपयोग करेगा जो कर सकता है swapon
और swapoff
या तो एक स्वैप विभाजन या जब हाइबरनेशन ट्रिगर इस विशेष कारण के लिए उत्पन्न स्वैप फ़ाइल को सक्रिय करें। अधिकांश विंडो प्रबंधकों को स्क्रिप्ट निष्पादित करने के लिए अनुकूलित किया जा सकता है जब इसका अलग-अलग हिस्सा सक्रिय होता है जैसे उदाहरण हाइबरनेशन बटन। यह कैसे करना है, यह निर्भर करता है कि आप किस विंडो मैनेजर का उपयोग करते हैं।
एक तीसरा विकल्प यह है कि स्वैप को हर समय सक्रिय रहने दिया जाए और इसके बजाय OOM प्रबंधक के सक्रिय होने और प्रक्रियाओं को मारना शुरू करने से पहले उपयोग की जाने वाली रैम की मात्रा को कम कर दें। यह करना संभव है, लेकिन मुझे नहीं पता कि यह कैसे करना है।
अंत में, यह देखते हुए कि इन दिनों कितनी रैम की लागत है, आपके कंप्यूटर में रैम की मात्रा बढ़ाना भी एक व्यवहार्य विकल्प है यदि आपने पहले से अधिकतम नहीं किया है।