2010-08-02 16 views
8

मेरे पास एक बेहद थ्रेडेड प्रोग्राम है लेकिन मेरा मानना ​​है कि यह कई कोरों में अच्छी तरह से स्केल करने में सक्षम नहीं है क्योंकि यह पहले से ही सभी मेमोरी बैंडविड्थ को संतृप्त कर रहा है।विंडोज़ पर मेमोरी बैंडविड्थ उपयोग को मापने के लिए कैसे?

क्या वहां कोई उपकरण है जो मापने की अनुमति देता है कि मेमोरी बैंडविड्थ का कितना उपयोग किया जा रहा है?

संपादित: कृपया ध्यान दें कि ठेठ प्रोफाइलर मेमोरी लीक और स्मृति आवंटन तरह बातें, जो मैं में दिलचस्पी नहीं है दिखाने के मैं स्मृति बैंडविड्थ संतृप्त किया जा रहा है केवल जाए या नहीं कर रहा हूँ।।

+2

यदि आप एक sysadmin उपकरण चाहते हैं, तो आपको अपना ओएस निर्दिष्ट करना होगा। आप एक प्रोग्रामेटिक उपकरण चाहते हैं, आपको प्रोग्रामिंग भाषा निर्दिष्ट करने की आवश्यकता है। –

+0

असल में, नहीं। मुख्य मेरी में कैश के माध्यम से सीपीयू से मेमोरी बैंडविड्थ एक निम्न स्तरीय अवधारणा _entirely_ प्रोग्रामिंग भाषा से स्वतंत्र है। – MSalters

+0

इसकी खिड़कियां। मैंने इसे प्रतिबिंबित करने के लिए शीर्षक संपादित किया। msalters से सहमत हैं, प्रोग्रामिंग भाषा मेमोरी बैंडविड्थ माप के साथ कुछ लेना देना नहीं है। – pdeva

उत्तर

2

आपके उपकरण के लिए मेमोरी बैंडविड्थ उपयोग को मापने वाला टूल ढूंढना मुश्किल होगा।

लेकिन चूंकि आप जिस मुद्दे का सामना करते हैं, वह एक संदिग्ध स्मृति बैंडविड्थ समस्या है, इसलिए यदि आप अपना पृष्ठ बहुत सारे पेज दोष/सेक उत्पन्न कर रहे हैं, तो आप कोशिश कर सकते हैं और माप सकते हैं, जिसका निश्चित रूप से अर्थ होगा कि आप सैद्धांतिक स्मृति बैंडविड्थ के पास कहीं नहीं हैं।

आपको यह भी मापना चाहिए कि आपके एल्गोरिदम कैसा अनुकूल हैं। यदि वे कैश को तोड़ रहे हैं, तो आपकी मेमोरी बैंडविड्थ उपयोग गंभीर रूप से बाधित हो जाएगी। अच्छे स्रोतों पर Google "मापने वाला कैश मिस" जो आपको बताता है कि यह कैसे करें।

2

मैं विजुअल स्टूडियो नमूना प्रोफाइलर की सिफारिश करता हूं जो विशिष्ट हार्डवेयर काउंटर पर नमूना ईवेंट एकत्र कर सकता है। उदाहरण के लिए, आप कैश मिस पर नमूना चुन सकते हैं। Here's an article explaining how to choose the CPU counter, हालांकि अन्य काउंटर भी हैं जिनके साथ आप भी खेल सकते हैं।

9

यदि आपके पास हाल ही में इंटेल प्रोसेसर है, तो आप इंटेल (आर) प्रदर्शन काउंटर मॉनिटर का उपयोग करने का प्रयास कर सकते हैं: http://software.intel.com/en-us/articles/intel-performance-counter-monitor/ यह मेमोरी नियंत्रकों से उपभोग वाली स्मृति बैंडविड्थ को सीधे माप सकता है।

+0

कोई मौका है कि कोई ऐसा उपकरण है जो इस डेटा का उपभोग करता है और इसे प्रिंट करता है? –

+0

इंटेल प्रदर्शन काउंटर मॉनिटर बंद कर दिया गया है। इसके बजाय, वे github पर कांटा प्रोसेसर काउंटर मॉनिटर को अद्यतन और नई विशेषताएं योगदान करते हैं: https://github.com/opcm/pcm। – wenjianhn

संबंधित मुद्दे