सवाल एक परफॉर्म "% प्रोसेसर टाइम" काउंटर 100% से अधिक कैसे हो सकता है?


काउंटर, Process(sqlservr)\% Processor Time, मेरे डेटाबेस सर्वरों में से एक पर लगभग 300% होवर कर रहा है। यह काउंटर CPU (उपयोगकर्ता मोड + विशेषाधिकार मोड) पर चलने वाले कुल SQL सर्वर का प्रतिशत दर्शाता है। किताब, एसक्यूएल सर्वर 2008 आंतरिक और समस्या निवारण, कहते हैं कि 80% से अधिक कुछ भी एक समस्या है।

उस काउंटर के लिए 100% से अधिक कैसे हो सकता है?


8
2018-05-19 01:01


मूल




जवाब:


एक ही नाम के साथ दो काउंटर हैं:

Process\% Processor Time: द योग प्रोसेसर समय पर प्रत्येक प्रोसेसर

Processor(_Total)\% Processor Time: सभी प्रोसेसर के लिए कुल

आपका प्रश्न इंगित करता है कि आप पहले काउंटर का उपयोग कर रहे हैं, जिसका अर्थ है कि इसका अधिकतम मूल्य 100% * (CPUs का नहीं) है।

तो यदि आपके पास 4 सीपीयू हैं, तो कुल अधिकतम 400% है, और 80% वास्तव में (400 * 0.8 =) 320% (और 8 सीपीयू के लिए यह 640% इत्यादि है)


20
2018-05-19 01:09



हां! बस। मेरे पास 8 सीपीयू हैं। तो मेरा sqlservr कुल CPU उपयोग वास्तव में लगभग 37% है। और इसका मतलब है कि सबकुछ सामान्य है। धन्यवाद, @ फ़ारसेकर! - Bill Paetzke
किसी भी समय। मेरे पास समान प्रश्न थे जब मैंने पहली बार एकाधिक-सीपीयू सिस्टम पर परफमन का उपयोग करना शुरू किया। - Mark Henderson♦
क्या सीपीयू की संख्या में हाइपरथ्रेडिंग शामिल है? उदाहरण के लिए, यदि मेरा कंप्यूटर क्वाड कोर है और मेरे पास हाइपरथ्रेडिंग है, तो क्या मुझे 4 प्रोसेस या 8 में कारक होना चाहिए? - Matthew Rodatus
0 और 100% के बीच मूल्य के साथ एक प्रक्रिया के प्रोसेसर उपयोग को खोजने का कोई तरीका है (उर्फ: यह आपको सभी CPUs पर प्रसार लोड दिखाता है)? मैं खुद को विभाजित नहीं करना पसंद करूंगा - Jeroen Vannevel


इस मान की आधार रेखा पर गणना की जाती है (लॉजिकल सीपीयूएस * 100 का कोई नहीं), तो यह 100 से अधिक की बेसिलिन पर गणना की जा रही है।


0
2017-08-05 08:46