WMI के माध्यम से उपलब्ध विंडोज में "लोड एवरेज" के निकटतम समकक्ष क्या है?


10

लिनक्स में लोड एवरेज की एक धारणा है जिसे निम्नानुसार परिभाषित किया गया है:

सिस्टम लोड औसत उन प्रक्रियाओं की औसत संख्या है जो या तो एक रनवेबल या निर्बाध स्थिति में हैं। एक रननीय अवस्था में एक प्रक्रिया या तो सीपीयू का उपयोग कर रही है या सीपीयू का उपयोग करने की प्रतीक्षा कर रही है। अबाधित अवस्था में एक प्रक्रिया कुछ I / O अभिगमन की प्रतीक्षा कर रही है, जैसे कि डिस्क की प्रतीक्षा करना। औसत तीन समय के अंतराल पर लिया जाता है। एक सिस्टम में सीपीयू की संख्या के लिए लोड औसत को सामान्य नहीं किया जाता है, इसलिए 1 औसत लोड का मतलब है कि एक ही सीपीयू सिस्टम को हर समय लोड किया जाता है, जबकि 4 सीपीयू सिस्टम पर इसका मतलब है कि यह 75% निष्क्रिय था।

WMI के माध्यम से उपलब्ध निकटतम समतुल्य क्या है? मौलिक रूप से दो OS के बीच अंतर हैं जो यह निर्धारित करते हैं कि ऐसे प्रदर्शन मीट्रिक को कैसे मापा जाना चाहिए? क्या अंतर हैं?

जवाबों:


9

Process Queue Lengthसे गिनती Systemप्रदर्शन काउंटर वस्तु है:

प्रोसेसर कतार लंबाई प्रोसेसर कतार में थ्रेड्स की संख्या है [...]

यह मान WMI के माध्यम से उपलब्ध है Win32_PerfFormattedData_PerfOS_System


इस उत्तर में थोड़ा सा खोदने पर stackoverflow.com/questions/807506/… OSes के बीच के अंतर का अच्छा दृश्य देने लगता है।
leonigmig

1
अनायास, "यह संपत्ति केवल अंतिम रूप से प्रदर्शित मूल्य प्रदर्शित करती है; यह औसत नहीं है।" : - |
ब्लिसॉर्बलेड

प्रक्रिया कतार की लंबाई केवल CPU की प्रतीक्षा करने वाली प्रक्रियाओं की संख्या का प्रतिनिधित्व करती है। यह डिस्क I / O या नेटवर्क I / O की प्रतीक्षा कर रही प्रक्रियाओं को नहीं दिखाता है। हालांकि, लिंडक्स समकक्ष अपने भार गणना में भी निर्बाध नींद की स्थिति में प्रक्रियाओं पर विचार करते हैं। इस स्थिति में प्रक्रियाओं का अर्थ है कि वे किसी प्रकार के I / O की प्रतीक्षा कर रहे हैं।
अमित भैर

4

मुझे समग्र कार्य-मांग के ऐसे किसी भी उपाय की जानकारी नहीं है, यह केवल प्रतिशत-सीपीयू है जो सीपीयू की मांग के प्रकार में कुछ टूटने के साथ है। इससे यह पता लगाना मुश्किल हो जाता है कि मशीन कितनी ओवरलोड है। जब लिनक्स सिस्टम 63 के लोड एवरेज की रिपोर्ट कर रहा होता है और विंडोज सिस्टम 100% सीपीयू की रिपोर्ट कर रहा होता है ... तो, वे दोनों फ्लैट से बाहर चल रहे हैं, लेकिन यह सब आप विंडोज सिस्टम के बारे में बता सकते हैं।


3

मुझे यकीन नहीं है कि खिड़कियों में कुछ भी है जो समकक्ष होगा, और मुझे यकीन नहीं है कि अगर वहाँ थे तो इसका मतलब कुछ भी नहीं होगा। विवरण से मैं यह नहीं देख सकता कि कैसे एक प्रक्रिया को भी शामिल करने में विफल होगा क्योंकि यहां तक ​​कि एक त्रिशंकु या निलंबित प्रक्रिया को सीपीयू समय आवंटित किया जाएगा। इसके अतिरिक्त यह थ्रेड्स और रन करने योग्य थ्रेड्स को देखने के लिए अधिक प्रासंगिक है, बजाय विंडोज के तहत प्रक्रियाओं के बजाय प्रदान की गई परिभाषा द्वारा लोड की किसी भी धारणा को निर्धारित करने के लिए।


0

आप इस आदेश के साथ प्रतिशत के रूप में तात्कालिक सीपीयू लोड प्राप्त कर सकते हैं :

wmic cpu get loadpercentage

कौन सा रिटर्न:

LoadPercentage
10

दुर्भाग्य से, मैं किसी भी समय औसत से नहीं देखता wmic cpu get, जो अच्छा होगा।


1
यह पिछले नमूना अवधि में सिर्फ CPU उपयोग प्रतिशत है, इसमें "लोड औसत" के साथ कुछ भी सामान्य नहीं है।
ग्रेचैट

0

यदि आप पायथन का उपयोग कर रहे हैं, तो Psutil प्रोसेसर कतार लंबाई के माध्यम से विंडोज पर getloadavg () का अनुकरण करता है:

 >>> import psutil
 >>> psutil.getloadavg()
 (3.14, 3.89, 4.67)

पीआर दिखा रहा है कि यह कैसे किया जाता है: https://github.com/giampaolo/psutil/pull/1485

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.