Cgroups के साथ केवल एक प्रक्रिया के लिए स्वैपिंग बंद करना?


15

मैं केवल एक प्रक्रिया के लिए स्वैपिंग बंद करना चाहूंगा। स्वैप अन्य प्रक्रियाओं के लिए हमेशा की तरह काम करना चाहिए।

मैं इसे cgroups के साथ कैसे लागू कर सकता हूं?

जवाबों:


9

से गिरी प्रलेखन memory.swappiness के विषय में:

5.3 swappiness

/ Proc / sys / vm / swappiness के समान, लेकिन केवल समूहों के एक पदानुक्रम को प्रभावित करना।

निम्नलिखित cgroups 'स्वपन बदल नहीं सकते।
- रूट cgroup (उपयोग / proc / sys / vm / swappiness)।
- एक cgroup जो पदानुक्रम का उपयोग करता है और इसके नीचे अन्य cgroup (s) होते हैं।
- एक ऐसा समूह जो पदानुक्रम का उपयोग करता है न कि पदानुक्रम की जड़।

Red Hat ग्राहक पोर्टल से:

memory.swappiness

कर्नेल की प्रवृत्ति को पृष्ठ कैश से पृष्ठों को पुनः प्राप्त करने के बजाय इस cgroup में कार्यों द्वारा उपयोग की जाने वाली प्रक्रिया मेमोरी को स्वैप करने के लिए सेट करता है। यह एक ही प्रवृत्ति है, उसी तरह से गणना की जाती है, जैसा कि सिस्टम के लिए / proc / sys / vm / swappiness में सेट किया गया है। डिफ़ॉल्ट मान 60 है। मान 60 से कम होने के कारण प्रक्रिया मेमोरी को स्वैप करने की कर्नेल की प्रवृत्ति कम हो जाती है, 60 से अधिक मान प्रक्रिया मेमोरी को स्वैप करने के लिए कर्नेल की प्रवृत्ति को बढ़ाते हैं, और 100 से अधिक मान कर्नेल को स्वैप करने की अनुमति देते हैं जो इसका हिस्सा हैं इस cgroup में प्रक्रियाओं का पता स्थान।

ध्यान दें कि 0 का मान प्रोसेस मेमोरी को स्वैप होने से नहीं रोकता है; स्वैप तब भी हो सकता है जब सिस्टम मेमोरी की कमी हो क्योंकि वैश्विक वर्चुअल मेमोरी मैनेजमेंट लॉजिक cgroup value को नहीं पढ़ता है। पृष्ठों को पूरी तरह से लॉक करने के लिए, cgroups के बजाय mlock () का उपयोग करें।

:: आप निम्नलिखित समूहों के स्वपन को नहीं बदल सकते हैं:
* रूट cgroup, जो / proc / sys / vm / swappiness में स्वैपिनेस सेट का उपयोग करता है।
* एक cgroup जिसके नीचे बाल समूह हैं।

संपादित करें: यदि आप इसे सेट करने के तरीके के बारे में जानने में रुचि रखते हैं, तो आप इसे बिल्कुल अन्य cgroup विशेषताओं की तरह सेट करते हैं:

 # cd /mnt/cgroup/<cgroupName>
 # cat memory.swappiness
 60
 # echo "59 " > memory.swappiness
 # cat memory.swappiness
 59

के /tmpरूप में अंदर घुड़सवार फ़ाइलों के लिए बस के बारे में क्या tmpfs? unix.stackexchange.com/q/146490/56970
CMCDragonkai

यह अच्छी बात है कि आपने कर्नेल प्रलेखन के संबंधित भाग को यहाँ उद्धृत किया है - लिंक टूट गया है।
mgarey

लिनक्स कर्नेल प्रलेखन का लिंक टूट गया है। इस एक के बजाय का उपयोग करें kernel.org/doc/Documentation/cgroup-v1/memory.txt
एंड्रयू Eisenberg

@AndrewEisenberg अगर आप चाहते हैं तो जवाब को संपादित करने के लिए स्वतंत्र महसूस करें
Bratchley

हममम ... मुझे नहीं होने देंगे। कहते हैं कि संपादन 6 वर्णों से बड़ा होना चाहिए। शायद पर्याप्त प्रतिष्ठा नहीं।
एंड्रयू ईसेनबर्ग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.