Systemd सेवा फ़ाइलों में, कोई भी systemd.exec
व्यक्ति से संबंधित शेड्यूलिंग संबंधित विकल्प सेट कर सकता है ( यदि मैं गलत हूं तो मुझे सही करें):
अच्छा निष्पादित प्रक्रियाओं के लिए डिफ़ॉल्ट अच्छा स्तर (समयबद्धन प्राथमिकता) निर्धारित करता है। -20 (उच्चतम प्राथमिकता) और 19 (सबसे कम प्राथमिकता) के बीच पूर्णांक लेता है। देखें setpriority (2) जानकारी के लिए।
जो परिचित अच्छा स्तर है। ऐसा लगता है कि इसका प्रभाव हाल के लियोन की गुठली के 'ऑटोग्रुप' फीचर के कारण कुछ हद तक 'विकृत' है। तो नीचे दिए गए विकल्प हो सकते हैं कि मैं वास्तव में अपने डेस्कटॉप अनुभव के लिए अच्छी तरह से व्यवहार करने वाली प्रक्रियाओं को रखना चाहता हूं।
CPUSchedulingPolicy निष्पादित प्रक्रियाओं के लिए CPU शेड्यूलिंग नीति सेट करता है। अन्य, बैच, निष्क्रिय, फीफो या आरआर में से एक लेता है। देखें sched_setscheduler (2) जानकारी के लिए।
CPUSchedulingPriority निष्पादित प्रक्रियाओं के लिए CPU शेड्यूलिंग प्राथमिकता निर्धारित करता है। उपलब्ध प्राथमिकता सीमा चयनित CPU शेड्यूलिंग नीति (ऊपर देखें) पर निर्भर करती है। वास्तविक समय निर्धारण नीतियों के लिए 1 (सबसे कम प्राथमिकता) और 99 (सर्वोच्च प्राथमिकता) के बीच पूर्णांक का उपयोग किया जा सकता है। देखें sched_setscheduler (2) जानकारी के लिए।
CPUSchedulingResetOnFork एक बूलियन तर्क लेता है। यदि सही, उन्नत CPU शेड्यूलिंग प्राथमिकताओं और नीतियों को रीसेट किया जाएगा, जब निष्पादित प्रक्रियाएं कांटा जाती हैं, और इसलिए बच्चे की प्रक्रियाओं में रिसाव नहीं हो सकता है। देखें sched_setscheduler (2) जानकारी के लिए। झूठे की अवहेलना करता है।
मैं आखिरी विकल्प समझता हूं। मैं पहले दो के स्पष्टीकरण से इकट्ठा करता हूं कि मैं एक शेड्यूलिंग नीति चुन सकता हूं और फिर, उस नीति को प्राथमिकता देते हुए। यह मेरे लिए पूरी तरह से स्पष्ट नहीं है कि मुझे किस तरह के कार्यों के लिए चुनना चाहिए। उदाहरण के लिए, क्या बैकअप कार्यों के लिए 'निष्क्रिय' चुनना सुरक्षित है (अपेक्षाकृत सीपीयू गहन, क्योंकि डुप्लिकेटिंग), या एक और बेहतर विकल्प है?
सामान्य तौर पर, प्रत्येक प्राथमिकता के साथ प्रत्येक नीति की एक समझ रखने योग्य अवलोकन प्राप्त करना, और विशिष्ट उद्देश्यों के लिए उपयुक्तता वह है जो मैं देख रहा हूं। इसके अलावा अच्छे स्तर के साथ बातचीत ब्याज की है।
CPU शेड्यूलिंग के आगे, IO शेड्यूलिंग है। मुझे लगता है कि यह मेल खाती है ionice
(अगर मैं गलत हूं तो मुझे सुधारो)।
IOSchedulingClass निष्पादित प्रक्रियाओं के लिए I / O शेड्यूलिंग वर्ग सेट करता है। 0 और 3 या स्ट्रिंग्स में से कोई भी एक, वास्तविक समय, सर्वश्रेष्ठ-प्रयास या निष्क्रिय के बीच पूर्णांक लेता है। देखें ioprio_set (2) जानकारी के लिए।
IOScheduledPriority निष्पादित प्रक्रियाओं के लिए I / O शेड्यूलिंग प्राथमिकता निर्धारित करता है। 0 (उच्चतम प्राथमिकता) और 7 (सबसे कम प्राथमिकता) के बीच पूर्णांक बनाता है। उपलब्ध प्राथमिकताएं चयनित I / O शेड्यूलिंग क्लास (ऊपर देखें) पर निर्भर करती हैं। देखें ioprio_set (2) जानकारी के लिए।
हम यहां CPU शेड्यूलिंग के समान संरचना देखते हैं। मैं उसी तरह की जानकारी के लिए भी देख रहा हूँ।
सभी 'शेड्यूलिंग' विकल्पों के लिए, संदर्भित मैन पेज मेरे लिए पर्याप्त रूप से स्पष्ट नहीं हैं, ज्यादातर चीजों को कुछ हद तक तकनीकी रूप से इच्छुक डेस्कटॉप उपयोगकर्ता के दृष्टिकोण में अनुवाद करने में।
nice
मूल्य लागू होने पर उल्लेख भी है )।