Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन का उपयोग कर संसाधन उपयोग की जानकारी

UNIX संसाधन उपयोग को मापने के लिए, हमें अपने कार्यक्रमों में संसाधन मॉड्यूल का उपयोग करने की आवश्यकता है। यह मॉड्यूल संसाधन उपयोग को भी नियंत्रित कर सकता है।

इस मॉड्यूल का उपयोग करने के लिए, हमें इसका उपयोग करके आयात करना चाहिए -

import resource

संसाधन सीमाएं

इस मॉड्यूल में हम संसाधन उपयोग को सीमित करने के लिए setrlimit () का उपयोग कर सकते हैं। संसाधनों को सीमित करने के लिए दो पैरामीटर हैं। ये पैरामीटर सॉफ्ट लिमिट और हार्ड लिमिट हैं। नरम सीमा मूल रूप से वर्तमान सीमा है, इसे प्रक्रिया में बदला जा सकता है, लेकिन यह कठिन सीमा से अधिक नहीं हो सकता है। हार्ड लिमिट को सॉफ्ट लिमिट से ऊपर किसी भी वैल्यू तक घटाया जा सकता है, लेकिन इसे बढ़ाया नहीं जा सकता।

संसाधन सीमित करने से संबंधित कुछ विधियाँ और स्थिरांक हैं। ये हैं।

विधि संसाधन.getrlimit(संसाधन)

इस विधि का उपयोग नरम और कठोर सीमाओं को टपल के रूप में वापस करने के लिए किया जाता है। यदि निर्दिष्ट संसाधन अमान्य है, तो यह ValueError बढ़ा देगा।

विधि संसाधन.सेटरलिमिट(संसाधन, सीमा)

इस पद्धति का उपयोग संसाधनों की सीमा निर्धारित करने के लिए किया जाता है। सीमाओं को सॉफ्ट और हार्ड लिमिट के टपल के रूप में असाइन किया जा सकता है। हम असीमित संसाधन बनाने के लिए RLIM_INFINITY का भी उपयोग कर सकते हैं।

विधि Resource.prlimit(pid, Resource[, Limits])

यह विधि setrlimit () और getrlimit () विधियों का एक संयोजन है। यह एक मनमानी प्रक्रिया के लिए एक ही समय में संसाधन सीमाएँ प्राप्त और निर्धारित कर सकता है। जब pid 0 होता है, तब यह वर्तमान प्रक्रिया पर कार्य करता है।

संसाधन सीमा से संबंधित कुछ स्थिरांक -

<टीडी>

RLIM_INFINITY

असीमित संसाधन के लिए सीमा

<टीडी>

RLIMIT_CORE

वर्तमान प्रक्रिया द्वारा बनाई गई कोर फ़ाइल का अधिकतम आकार।

<टीडी>

RLIMIT_CPU

एक प्रोसेसर का अधिकतम प्रोसेसर समय। जब सीमा पार हो जाती है, तो प्रक्रिया को एक SIGXCCPU सिग्नल भेजा जाता है।

<टीडी>

RLIMIT_DATA

प्रोसेसर के ढेर का अधिकतम आकार

<टीडी>

RLIMIT_STACK

कॉल स्टैक का अधिकतम आकार। यह बहु-थ्रेडेड प्रक्रिया के लिए मुख्य धागे के ढेर का उपयोग करता है।

<टीडी>

RLIMIT_NOFILE

वर्तमान प्रक्रिया के लिए ओपन फाइल डिस्क्रिप्टर की अधिकतम संख्या।

<टीडी>

RLIMIT_MEMLOCK

लॉक की गई मेमोरी के लिए अधिकतम पता स्थान

<टीडी>

RLIMIT_NICE

एक प्रक्रिया के अच्छे स्तर की छत

<टीडी>

RLIMIT_SWAP

स्वैप स्थान का अधिकतम आकार

<टीडी>

RLIMIT_NTPS

सिस्टम में छद्म टर्मिनलों की अधिकतम संख्या

Sr.No. स्थिरांक और विवरण
1
2
3
4
5
6
7
8
9
10

संसाधन उपयोग

संसाधन उपयोग से संबंधित विधियां और स्थिरांक हैं।

विधि संसाधन.getrusage(कौन)

इस पद्धति का उपयोग वर्तमान प्रक्रिया या उसके बच्चों द्वारा उपयोग की जाने वाली वस्तु को वापस करने के लिए किया जाता है। यह विभिन्न क्षेत्रों को लौटाता है। वापसी मूल्य के क्षेत्रों से, हम इस बारे में जानकारी प्राप्त कर सकते हैं कि संसाधन का उपयोग कैसे किया गया है।

विधि Resource.getpagesize()

सिस्टम पेज में बाइट्स की संख्या वापस करने के लिए इस विधि का उपयोग किया जाता है। यह भौतिक पृष्ठ आकार के समान नहीं हो सकता है।

संसाधन उपयोग से संबंधित कुछ स्थिरांक।

<टीडी>

RUSAGE_SELF

यह कॉलिंग प्रक्रिया द्वारा उपभोग किए गए संसाधनों का अनुरोध करने में मदद करता है। यह विभिन्न धागों के सभी संसाधनों का योग है।

<टीडी>

RUSAGE_CHILDREN

यह चाइल्ड प्रोसेस द्वारा उपभोग किए गए संसाधनों का अनुरोध करने में मदद करता है।

<टीडी>

RUSAGE_BOTH

यह कॉलिंग प्रक्रिया के साथ-साथ चाइल्ड प्रोसेस द्वारा उपभोग किए गए संसाधनों का अनुरोध करने में मदद करता है। यह सभी प्रणालियों के लिए उपलब्ध नहीं है

<टीडी>

RUSAGE_THREAD

वर्तमान थ्रेड द्वारा संसाधन उपयोग। यह सभी प्रणालियों के लिए उपलब्ध नहीं है

Sr.No. स्थिरांक और विवरण
1
2
3
4

उदाहरण कोड

import resource
res_limits = resource.getrusage(resource.RUSAGE_SELF)
print(res_limits)
print('Page Size: ' + str(resource.getpagesize()))
resource.setrlimit(resource.RLIMIT_CPU, (1, 2))
print('Resouce Limits: ' + str(resource.getrlimit(resource.RLIMIT_CPU)))
for a in range(1000):
   for b in range(1000):
      for c in range(1000):
         pass

आउटपुट

$ python3 example.py
resource.struct_rusage(ru_utime=0.035801, ru_stime=0.01074, ru_maxrss=9356, ru_ixrss=0, ru_idrss=0, 
ru_isrss=0, ru_minflt=1147, ru_majflt=0, ru_nswap=0, ru_inblock=0, ru_oublock=0, 
ru_msgsnd=0, ru_msgrcv=0, ru_nsignals=0, ru_nvcsw=0, ru_nivcsw=17)
Page Size: 4096
Resouce Limits: (1, 2)
CPU time limit exceeded (core dumped)

  1. पायथन का उपयोग करके स्टॉपवॉच बनाएं

    स्टॉपवॉच का उपयोग दो घटनाओं के बीच के समय अंतराल को आमतौर पर सेकंड से मिनटों में मापने के लिए किया जाता है। इसके विभिन्न उपयोग हैं जैसे खेल में या एक औद्योगिक सेटअप में गर्मी, करंट आदि के प्रवाह को मापना। पायथन का उपयोग इसकी टिंकर लाइब्रेरी का उपयोग करके स्टॉपवॉच बनाने के लिए किया जा सकता है। इस ला

  1. व्हाट्सएप पायथन का उपयोग कर रहा है?

    इस खंड में हम एक व्हाट्सएप चैटबॉट बनाने जा रहे हैं, लेकिन ट्विटर या फेसबुक के लिए कुछ अन्य चैटबॉट्स के विपरीत, व्हाट्सएप चैटबॉट व्हाट्सएप की नीतियों के कारण सीधे प्लेटफॉर्म पर नहीं चलते हैं। लेकिन प्राप्त करने का एक तरीका है, सेलेनियम का उपयोग करके, अजगर में एक बहुत ही स्मार्ट पैकेज जिसके साथ डेवलप

  1. पायथन में CX_Freeze का उपयोग करना

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