Erlang 21

cpu_sup




erlang

cpu_sup

मॉड्यूल

cpu_sup

मॉड्यूल सारांश

एक सीपीयू लोड और सीपीयू यूटिलाइजेशन सुपरवाइजर प्रक्रिया

विवरण

cpu_sup एक प्रक्रिया है जो CPU लोड और CPU उपयोग की निगरानी करती है। यह OS_Mon एप्लिकेशन का हिस्सा है, os_mon(6) । यूनिक्स के लिए उपलब्ध है, हालांकि सीपीयू उपयोग मूल्य (उपयोग util/0,1 ) केवल सोलारिस, लिनक्स और फ्रीबीएसडी के लिए उपलब्ध हैं।

लोड मान इस बात के लिए आनुपातिक हैं कि एक रन योग्य यूनिक्स प्रक्रिया को चलने से पहले कितनी देर तक चलने वाली कतार में खर्च करना है। तदनुसार, उच्च मूल्यों का अर्थ है अधिक सिस्टम लोड। 256 से विभाजित किया गया लौटा मूल्य rup और top द्वारा प्रदर्शित आंकड़ा पैदा करता है। जैसा कि 2.00 में दिखाया गया है, xload में दूसरे चिह्न तक लोड के रूप में प्रदर्शित किया जाता है।

उदाहरण के लिए, rup 128 का लोड 0.50 और 512 को 2.00 के रूप में प्रदर्शित करता है।

यदि उपयोगकर्ता लोड मानों को मशीन की क्षमता के प्रतिशत के रूप में देखना चाहता है, तो मापने का यह तरीका एक समस्या प्रस्तुत करता है, क्योंकि लोड मान एक निश्चित अंतराल तक सीमित नहीं हैं। इस मामले में, निम्नलिखित सरल गणितीय परिवर्तन लोड मान को प्रतिशत के रूप में उत्पन्न कर सकते हैं:

PercentLoad = 100 * (1 - D/(D + Load))

D निर्धारित करता है कि किस लोड मूल्य को किस प्रतिशत के साथ जोड़ा जाना चाहिए। D = 50 को चुनने का मतलब है कि 128 60% भार है, 256 80% है, 512 90% है, और इसी तरह।

सिस्टम लोड को मापने का एक अन्य तरीका सीपीयू चक्रों की कुल संख्या से व्यस्त सीपीयू चक्रों की संख्या को विभाजित करना है। यह तुरंत 0-100 रेंज में मान पैदा करता है। हालांकि, यह विधि इस तथ्य को छिपाती है कि एक मशीन कम या ज्यादा संतृप्त हो सकती है। इसलिए इस उपयोग के लिए सिस्टम लोड की तुलना में CPU उपयोग एक बेहतर नाम है।

एक सर्वर जो निष्क्रिय नहीं बनने के लिए केवल पर्याप्त अनुरोध प्राप्त करता है, वह 100% CPU उपयोग को स्कोर करेगा। यदि सर्वर को 50% अधिक अनुरोध प्राप्त होते हैं, तो भी यह 100% स्कोर करेगा। जब सिस्टम लोड की गणना पहले दिखाए गए प्रतिशत सूत्र के साथ की जाती है, तो लोड 80% से बढ़कर 87% हो जाएगा।

avg1/0 , avg5/0 , और avg15/0 फ़ंक्शन का उपयोग सिस्टम लोड मानों को प्राप्त करने के लिए किया जा सकता है, और CPU उपयोग मानों को पुनर्प्राप्त करने के लिए उपयोग util/0 और उपयोग util/1 फ़ंक्शन का उपयोग किया जा सकता है।

जब लिनक्स पर चलाया जाता है, तो cpu_sup मानता है कि /proc फ़ाइल सिस्टम cpu_sup द्वारा मौजूद और सुलभ है। यदि यह नहीं है, तो cpu_sup समाप्त हो जाएगा।

निर्यात

nprocs () -> UnixProcesses | {त्रुटि, कारण}

प्रकार

इस मशीन पर चलने वाली UNIX प्रक्रियाओं की संख्या लौटाता है। यह सिस्टम लोड को मापने का एक कच्चा तरीका है, लेकिन यह कुछ मामलों में दिलचस्पी का हो सकता है।

0 रिटर्न अगर cpu_sup उपलब्ध नहीं है।

avg1 () -> SystemLoad | {त्रुटि, कारण}

प्रकार

ऊपर बताए अनुसार अंतिम मिनट में औसत सिस्टम लोड लौटाता है। 0 कोई भार नहीं दर्शाता है, 256 लोड के रूप में रिपोर्ट किया गया है जो rup अनुसार 1.00 है।

0 रिटर्न अगर cpu_sup उपलब्ध नहीं है।

avg5 () -> SystemLoad | {त्रुटि, कारण}

प्रकार

पिछले पांच मिनट में औसत सिस्टम लोड लौटाता है, जैसा कि ऊपर वर्णित है। 0 कोई भार नहीं दर्शाता है, 256 लोड के रूप में रिपोर्ट किया गया है जो rup 1.00 है।

0 रिटर्न अगर cpu_sup उपलब्ध नहीं है।

avg15 () -> SystemLoad | {त्रुटि, कारण}

प्रकार

पिछले 15 मिनट में औसत सिस्टम लोड लौटाता है, जैसा कि ऊपर वर्णित है। 0 कोई भार नहीं दर्शाता है, 256 लोड के रूप में रिपोर्ट किया गया है जो rup अनुसार 1.00 है।

0 रिटर्न अगर cpu_sup उपलब्ध नहीं है।

उपयोग () -> CpuUtil | {त्रुटि, कारण}

प्रकार

कॉलिंग प्रक्रिया द्वारा उपयोग करने के लिए अंतिम कॉल util/0 या उपयोग util/1 बाद से सीपीयू का उपयोग करता है।

ध्यान दें

किसी प्रक्रिया द्वारा उपयोग util/0 या उपयोग util/1 के लिए पहली कॉल का लौटा मूल्य सिस्टम बूट के बाद से अधिकांश सिस्टम CPU उपयोग होगा, लेकिन इसकी गारंटी नहीं है और इसलिए मूल्य को कचरा माना जाना चाहिए। यह cpu_sup पुनरारंभ होने के बाद पहली कॉल पर भी लागू होता है।

सीपीयू उपयोग को सभी व्यस्त प्रोसेसर राज्यों में खर्च किए गए सीपीयू चक्रों के प्रतिशत शेयरों के योग के रूप में परिभाषित किया गया है (सभी में सीपीयू util/1 नीचे उपयोग देखें) औसतन सभी सीपीयू।

0 रिटर्न अगर cpu_sup उपलब्ध नहीं है।

उपयोग (ऑप्स) -> UtilSpec | {त्रुटि, कारण}

प्रकार

उपयोग util/0 से अधिक विवरण में कॉलिंग प्रक्रिया द्वारा अंतिम कॉल का उपयोग util/0 या उपयोग util/1 करने के लिए सीपीयू का उपयोग करता है।

ध्यान दें

किसी प्रक्रिया द्वारा उपयोग util/0 या उपयोग util/1 के लिए पहली कॉल का लौटा मूल्य सिस्टम बूट के बाद से अधिकांश सिस्टम CPU उपयोग होगा, लेकिन इसकी गारंटी नहीं है और इसलिए मूल्य को कचरा माना जाना चाहिए। यह cpu_sup पुनरारंभ होने के बाद पहली कॉल पर भी लागू होता है।

वर्तमान में मान्यता प्राप्त विकल्प:

detailed

लौटा हुआ UtilDesc (s) और भी अधिक विस्तृत होगा।

per_cpu

प्रत्येक सीपीयू को अलग से निर्दिष्ट किया जाएगा (यह जानकारी ऑपरेटिंग सिस्टम से पुनर्प्राप्त की जा सकती है), अर्थात, प्रति सीपीयू एक UtilDesc साथ एक सूची वापस आ जाएगी।

UtilDesc = {Cpus, Busy, NonBusy, Misc} :

Cpus

यदि detailed और / या per_cpu विकल्प दिया गया है, तो यह सीपीयू नंबर, या सीपीयू संख्याओं की एक सूची है।

यदि नहीं, तो यह all परमाणु है जिसका तात्पर्य है कि UtilDesc में सभी CPU के बारे में जानकारी है।

Busy

यदि detailed विकल्प दिया जाता है, तो यह {State, Share} टुपल्स की एक सूची है, जहां प्रत्येक टपल में एक प्रोसेसर स्थिति के बारे में जानकारी होती है जिसे एक व्यस्त प्रोसेसर राज्य के रूप में पहचाना गया है (नीचे देखें)। एटम State का नाम है, और फ्लोट Share इस अवस्था में खर्च किए गए सीपीयू चक्रों के प्रतिशत शेयर का उपयोग util/0 या उपयोग util/1 लिए अंतिम कॉल के बाद से करता है।

यदि नहीं, तो यह व्यस्त के रूप में पहचाने गए सभी राज्यों में खर्च किए गए सीपीयू चक्रों के प्रतिशत शेयरों का योग है।

यदि per_cpu नहीं दिया गया है, तो प्रस्तुत मूल्य सभी CPU का औसत है।

NonBusy

Busy समान, लेकिन प्रोसेसर राज्यों के लिए जिन्हें गैर-व्यस्त के रूप में पहचाना गया है (नीचे देखें)।

Misc

वर्तमान में अप्रयुक्त; भविष्य उपयोग के लिए आरक्षित।

वर्तमान में इन प्रोसेसर राज्यों की पहचान व्यस्त है:

user

उपयोगकर्ता मोड में निष्पादन कोड।

nice_user

कम प्राथमिकता (अच्छा) उपयोगकर्ता मोड में निष्पादन कोड। यह स्थिति वर्तमान में केवल लिनक्स पर पहचानी जाती है।

kernel

कर्नेल मोड में निष्पादन कोड।

वर्तमान में इन प्रोसेसर राज्यों को गैर-व्यस्त के रूप में पहचाना जाता है:

wait

इंतज़ार कर रही। यह राज्य वर्तमान में केवल सोलारिस पर पहचाना जाता है।

idle

निष्क्रिय।

ध्यान दें

अलग-अलग ऑपरेटिंग सिस्टम पर अलग-अलग प्रोसेसर स्टेट्स अलग-अलग हो सकते हैं और समान ऑपरेटिंग सिस्टम पर cpu_sup विभिन्न संस्करणों के बीच बदल सकते हैं। हालांकि सभी व्यस्त और सभी गैर-व्यस्त प्रोसेसर राज्यों में खर्च किए गए सीपीयू चक्रों के प्रतिशत शेयरों का योग हमेशा 100% तक बढ़ेगा, हालांकि।

रिटर्न {all,0,0,[]} अगर cpu_sup उपलब्ध नहीं है।

यह भी देखें

os_mon(3)