डेबियन में निश्चित समय के दौरान क्रोन नौकरियों को कैसे रोका जाए? (एक 'गेमिंग' / 'प्रदर्शन मोड')


12

ऐसा लगता है कि मैंने लॉगऑन को एक क्रॉन जॉब के रूप में स्थापित किया है और जब भी इसे चलाने की प्रक्रिया grepहोती logcheckहै, तो यह मेरे सीपीयू के आसपास होता है।

अब मेरे पास निश्चित समय है, जिसके दौरान मुझे अपनी पूर्ण सीपीयू क्षमता की आवश्यकता है और मेरे सिस्टम में विशिष्ट / प्रक्रियाओं को छोड़कर संभव के रूप में कम से कम संसाधन हैं (जो मैं शायद किसी तरह निर्दिष्ट कर सकता हूं)।

क्या केडीई मशीन के साथ माई डेबियन 9.1 को किसी प्रकार के प्रदर्शन मोड (या 'गेमिंग मोड') में सेट करना संभव है, जो उपयोगकर्ता द्वारा प्रक्रिया को स्पष्ट रूप से शुरू करने से रोकता है ताकि अधिक सिस्टम संसाधन लेने से पृष्ठभूमि की प्रक्रियाओं का भार कम हो और सबसे महत्वपूर्ण रूप से : क्रोन नौकरियों में देरी करता है जब तक कि मोड फिर से बंद न हो जाए?


6
एक सरल उपाय यह होगा कि क्रोन जॉब में लॉगचेक न चलाया जाए, बल्कि एक कस्टम स्क्रिप्ट लिखी जाए और उसे क्रोन जॉब में चलाया जाए। स्क्रिप्ट में, पहले आपको जो भी चेक की आवश्यकता होती है, उसे करें और फिर स्क्रिप्ट के अंत में लॉगचेक चलाएं यदि वे सभी चेक पास करते हैं।
सॉसेकोड

5
प्राथमिकता की जांच करें। यदि इसे 19 तक नीचे कर दिया गया है तो यह केवल तभी चलता है जब सीपीयू के पास करने के लिए और कुछ नहीं होता है।
थोरबजर्न रावन एंडरसन

जवाबों:


18

"कुछ समय के" निश्चित नहीं हैं, तो यानी आप जब अपने सिस्टम में प्रवेश करती है और पत्तियों "प्रदर्शन मोड", तो आप बस बंद करो और शुरू कर सकते हैं मैन्युअल रूप से निर्दिष्ट करना चाहते हैं cron:

sudo systemctl stop cron

किसी भी क्रोन नौकरियों को चलने से रोक देगा, और

sudo systemctl start cron

उन्हें फिर से सक्षम करेगा।

आप anacronइसके बजाय बाहर की जाँच भी कर सकते हैं cron, यह विश्व स्तर पर एक तरह से ट्विक करने में आसान हो सकता है जो आपके उपयोग के लिए उपयुक्त होगा।


12

मैं दो दृष्टिकोणों पर विचार करूंगा

  1. शेड्यूलिंग को अछूता छोड़ दें, लेकिन सभी cronनौकरियों को नीचे चलाएं nice, और संभवतः भी ionice:

    0 * * * *    root    ionice -c3 nice /some/command and parameters
    
  2. cronनिश्चित समय के दौरान किसी भी नौकरी को छोड़ दें । याद रखें कि कोई भी उपयोगकर्ता जो ध्वज फ़ाइल बना सकता है (या हटा सकता है) इस दृष्टिकोण को नियंत्रित कर सकता है। यही कारण है कि हो सकता है काम करता है, तो आपको लगता है कि सेट किया गया है एक गेमिंग मोड करना चाहते मांग पर , जोड़कर touchऔर rmअपने गेम के स्टार्ट-अप स्क्रिप्ट को आदेश। (आपको /tmpइसके बजाय उपयोग करने की आवश्यकता हो सकती है /var/run, लेकिन फिर यह किसी भी उपयोगकर्ता के लिए तुच्छ रूप से खुला है।)

    0 18 * * *      root    touch /var/run/no_cron
    0 19 * * *      root    rm -f /var/run/no_cron
    
    0 * * * *       root    test ! -f /var/run/no_cron && /some/command...
    

एक बार सेट होने के बाद, न तो एप्रोच को रूट एक्सेस की आवश्यकता होती है। इसके अलावा आप पहले से तय कर सकते हैं कि कौन सी नौकरियां इस नियंत्रण के अधीन होनी चाहिए, और कौन सी नहीं होनी चाहिए।


1
सही बात। सीपीयू के बहुत सारे उपलब्ध होने पर अड़चन क्यों होती है? ओएस प्राथमिकताओं में किक तब होती है जब कोई कमी होती है, मनमाने ढंग से नहीं।
MSALERS

मुझे विश्वास नहीं है कि -c3 -n7संयोजन समझ में आता है, कम से कम लिनक्स पर। निष्क्रिय शेड्यूलिंग वर्ग कोई प्राथमिकताओं है।
बाग़ का

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