क्या cgroups में प्रक्रियाओं को हर बूट सेट करना पड़ता है? यदि हां, तो उन्हें कैसे जारी रखा जाए?


9

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

शायद यह इस उदाहरण से स्पष्ट नहीं है कि यह कैसे होगा, इसलिए एक स्पष्ट स्पष्टीकरण या किसी के लिए लिंक का भी स्वागत किया जाएगा। कर्नेल cgroups.txt में उदाहरण ऊपर दिए गए पहले से ही मॉडल का उपयोग करने के लिए लगता है ।

जवाबों:


6

सबसे आसान तरीका है systemdजो आपके sshdवैसे (वितरण के आधार पर) के लिए जिम्मेदार हो सकता है । आप sshdयूनिट फ़ाइल में आसानी से सीमाएँ कॉन्फ़िगर कर सकते हैं । systemdसभी सेवाओं को अलग-अलग cgroups में वैसे भी डालता है।

systemdसबसे आसान समाधान के बिना शायद sshdस्टार्ट स्क्रिप्ट का एक संशोधन है (ध्यान दें कि इसे अपडेट द्वारा अधिलेखित नहीं किया गया है; इसे अलग नाम पर कॉपी करना और मूल स्क्रिप्ट को अक्षम करना एक अच्छा विचार हो सकता है)।


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

@casualunixer आपको बस अपने ऐप के लिए एक यूनिट फाइल लिखना है। आप कॉन्फ़िगर कर सकते हैं ताकि यह बूट पर या केवल मैन्युअल रूप से प्रारंभ हो।
हौके लैगिंग

@laging, यदि आप एक उदाहरण इकाई फ़ाइल को एक उत्तर में दे सकते हैं, या एक ही तरह से दस्तावेज़ीकरण के लिए सूचक है, तो इसकी सराहना की जाएगी।
कैजुअलिक्सर

@casualunixer यह बिल्कुल वही है जहाँ कोई इसकी उम्मीद करेगा: man systemdलीड की man 5 systemd.unitओर जाता है man 5 systemd.service। मेरे सिस्टम पर SSH फाइल है /usr/lib/systemd/system/sshd.service
हौके लैजिंग

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