2010-09-15 12 views
13

के लिए सीपीयू और मेमोरी कैप मैं एक एपडोमेन में एक एक्सई होस्ट करना चाहता हूं और इसे एक सीपीयू और मेमोरी कैप असाइन करना चाहता हूं ताकि यह असाइन प्रोसेसिंग पावर से अधिक उपयोग न करे। क्या यह करना संभव है और कैसे?एपडोमेन

उत्तर

0

यहां तक ​​कि विंडोज़ प्रदर्शन मॉनीटर आपको एपडोमेन द्वारा सीपीयू उपयोग देखने की अनुमति नहीं देते हैं - चूंकि ऐपडॉमेन्स सीएलआर की तार्किक संरचनाएं हैं और ओएस द्वारा ज्ञात नहीं हैं, केवल सीपीयू उपयोग ट्रैकिंग प्रक्रिया स्तर पर है - मैं चौंक जाएगा अगर ऐसा कुछ सीमित करने का कोई तरीका है जिसे आप मॉनीटर भी नहीं कर सकते हैं।

ऐसा करने के लिए आपका कारण क्या है? आप अपने आवेदन को उपलब्ध सभी संसाधनों का उपयोग क्यों नहीं करना चाहेंगे? यदि यह सुनिश्चित करने का मामला है कि अन्य प्रक्रियाओं के चलने के लिए पर्याप्त ओवरहेड है, तो क्या आप केवल धागे की प्राथमिकता को कम नहीं कर सकते हैं और विंडोज शेड्यूलर को इसे समझने दें?

0

इस तरह से कुछ करने के लिए मुझे एकमात्र तरीका हाइपरवी (या समान उत्पाद) का उपयोग करना और विभिन्न अनुप्रयोगों में अपने अनुप्रयोगों को विभाजित करना है। लेकिन यह वास्तव में एक सस्ता या सरल समाधान नहीं है।

3

आप अधिकतम स्मृति सीधे टोपी नहीं कर सकते में इस आवश्यकता के लिए एक समाधान है, के रूप में तक मुझे पता है की तरह।

हालांकि, पर .NET 4 से, स्मृति वर्तमान में एक AppDomain द्वारा आवंटित AppDomain.MonitoringSurvivedMemorySize संपत्ति में उपलब्ध AppDomain.MonitoringIsEnabledtrue पर सेट है है। आप आवंटन की निगरानी के लिए एक वॉचडॉग थ्रेड को स्पिन कर सकते हैं।