मैं एक सी # प्रोग्राम विकसित कर रहा हूं, और मेरे पास एक ऐसा कार्य है जो बहुत अधिक CPU का उपभोग करता है। मैं इसे कोड द्वारा नियंत्रित करने का कोई तरीका जानना चाहता हूं (किसी बाहरी एप्लिकेशन के साथ नहीं) और CPU उपयोग के प्रतिशत को प्रतिबंधित करता हूं। उदाहरण के लिए, यदि यह 9 0% CPU उपयोग का उपयोग करता है, तो मेरा ऐप केवल 20% उपभोग करने के लिए, भले ही यह धीमा हो जाए। यह स्वचालित रूप से और ऐप के भीतर से किया जाना चाहिए। यदि आप एक कक्षा प्रदान करते हैं, तो यह शानदार होगा।सीपीयू उपयोग को सी # प्रोग्राम को कैसे प्रतिबंधित किया जाए?
उत्तर
मुझे नहीं पता कि आप ऐसा कर सकते हैं, लेकिन आप Priority संपत्ति के माध्यम से निष्पादन थ्रेड की थ्रेड प्राथमिकता बदल सकते हैं। आप स्थापित करेगा द्वारा कि:
Thread.CurrentThread.Priority = ThreadPriority.Lowest;
इसके अलावा, मुझे नहीं लगता कि तुम सच में यह टोपी करना चाहते हैं। अगर मशीन अन्यथा निष्क्रिय है, तो आप इसे कार्य के साथ व्यस्त होना चाहते हैं, है ना? थ्रेडप्रिरीटी शेड्यूलर को संवाद करने में मदद करता है।
इससे कुछ मदद मिलेगी, और ऐसा करने के बारे में मुझे एकमात्र तरीका पता है। –
यह सही तरीके से करने का सबसे अच्छा और एकमात्र तरीका है। – Will
मैंने देखा है कि विंडोज ऐप्स स्वयं को कैप करने में सक्षम हैं ... CPU का 50% कहें। त्रुटि दर 1% से कम थी। –
आप लूप के भीतर थ्रेड स्लीप (मिलीसेकंड) को कॉल करके लूप को धीमा कर सकते हैं। वह CPU को शेड्यूलर पर वापस रखता है।
लेकिन 'बहुत अधिक सीपीयू खपत' मुझे लगता है कि आपको और मौलिक समस्याएं हो सकती हैं। क्या यह थ्रेड मतदान और कुछ और इंतज़ार कर रहा है? यदि ऐसा है, तो आपको घटनाओं या कुछ अन्य कर्नेल-आधारित सिग्नलिंग तंत्र के उपयोग पर विचार करना चाहिए।
मुझे लगता है कि आपको यह पता लगाने के लिए किसी प्रकार का ओएस एपीआई पूछना होगा कि आप कितने सीपीयू उपभोग कर रहे हैं और उस पर थ्रॉटलिंग फैसले (जैसे थ्रेड स्लीप) लेते हैं।
- 1. प्रोग्राम के सीपीयू एफ़िनिटी को कैसे सेट करें?
- 2. नियमित अभिव्यक्ति लटकती प्रोग्राम (100% सीपीयू उपयोग)
- 3. std :: unique_ptr को कैसे पास किया जाए?
- 4. रन समय पर सी # ऑब्जेक्ट को कैसे परिभाषित किया जाए?
- 5. सी ++ सीपीयू रजिस्टर उपयोग
- 6. मैं एफएफएमपीजी सीपीयू उपयोग को कैसे सीमित कर सकता हूं?
- 7. जावास्क्रिप्ट ऑब्जेक्ट को कैसे विस्तारित किया जाए?
- 8. जेपीए को कैसे पेश किया जाए डेटाप्रिप
- 9. थ्रेडसेफ को कैसे परिभाषित किया जाए?
- 10. schema.org को कैसे कार्यान्वित किया जाए?
- 11. सोपवार नामस्थान को कैसे परिभाषित किया जाए?
- 12. http रेफरर को कैसे खराब किया जाए
- 13. पीएनजी पारदर्शिता को कैसे संरक्षित किया जाए?
- 14. बहिष्कृत अनुमतियों को कैसे निर्धारित किया जाए?
- 15. क्या सी # प्रोग्राम किसी भी तरह अपने सीपीयू उपयोग को माप सकता है?
- 16. मेमोरी से बाहर निकलने के लिए प्रोग्राम को कैसे लागू किया जाए?
- 17. सी # में सीपीयू उपयोग कैसे प्राप्त करें?
- 18. .NET प्रोग्राम के लिए स्टैक आकार को कैसे बदला जाए?
- 19. सी में सीपीयू उपयोग कैसे प्राप्त करें?
- 20. एक प्रोग्राम के सीपीयू और डिस्क उपयोग की निगरानी
- 21. Boost.Python को कच्चे सूचक को कैसे पास किया जाए?
- 22. टेम्पलेट फ़ंक्शन को प्रतिबंधित करें
- 23. विचारधारा का उपयोग करते समय कमांड लाइन तर्कों को कैसे पास किया जाए?
- 24. सी #: प्रतिबंधित करें कि कंसोल ऐप को
- 25. प्रोग्राम पर कंप्यूटर पर सीपीयू प्रशंसक का उपयोग करें? (विंडोज़)
- 26. सी/सी ++ विशेष सीपीयू विशेषताओं का उपयोग
- 27. सी #: बाहरी कंसोल प्रोग्राम को छिपाएं
- 28. पॉइंटर्स को प्रतिबंधित करें और
- 29. विम की% कार्यक्षमता को कैसे प्रतिबंधित करें?
- 30. जावा एप्लिकेशन को वेबसाइट के साथ कैसे इंटरैक्ट किया जाए
यह एक क्रैच की तरह लगता है: समस्या के बजाय लक्षण पर हमला करना। आप यह क्यों नहीं पोस्ट करते कि विधि क्या करने का प्रयास कर रही है और विधि को अनुकूलित करने में सहायता के लिए हमसे पूछें। –
यह एक क्रैच हो सकता है लेकिन मैं इस विचार के लिए कुछ अनुप्रयोगों के बारे में सोच सकता हूं जैसे: सीपीयू बाध्य पृष्ठभूमि कार्य संख्याओं को क्रंच करने के लिए, ऑफिस पीसी के वितरित कंप्यूटिंग पर्यावरण में एक नोड, एक कृत्रिम बुद्धिमान कार्यक्रम जो मेरी निगरानी और सीखने के लिए उपयोग की आदतें –
50% पर CPU उपयोग को कैप करने के लिए, इसे दोहरी कोर पर चलाएं; 25% टोपी के लिए, इसे क्वाड कोर पर चलाएं: डी – Alan