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

पायथन का उपयोग करके रिसोर्स यूसेज जानकारी

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

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

import resource

रिसोर्स लिमिट्स

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

रिसोर्स लिमिटिंग से संबंधित कुछ मेथड्स और कॉन्स्टेंट्स हैं। ये हैं:

मेथड resource.getrlimit(resource)

यह मेथड सॉफ्ट और हार्ड लिमिट्स को टपल के रूप में लौटाने के लिए उपयोग किया जाता है। यदि निर्दिष्ट रिसोर्स अमान्य है, तो यह ValueError उठाएगा।

मेथड resource.setrlimit(resource, limits)

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

मेथड resource.prlimit(pid, resource[, limits])

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

रिसोर्स लिमिट्स से संबंधित कुछ कॉन्स्टेंट्स:

Sr.No.कॉन्स्टेंट्स और विवरण
1

RLIM_INFINITY

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

2

RLIMIT_CORE

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

3

RLIMIT_CPU

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

4

RLIMIT_DATA

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

5

RLIMIT_STACK

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

6

RLIMIT_NOFILE

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

7

RLIMIT_MEMLOCK

लॉक्ड मेमोरी के लिए अधिकतम एड्रेस स्पेस

8

RLIMIT_NICE

प्रोसेस के नाइस लेवल की सीलिंग

9

RLIMIT_SWAP

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

10

RLIMIT_NTPS

सिस्टम में प्स्यूडो टर्मिनल्स की अधिकतम संख्या

रिसोर्स यूसेज

रिसोर्स यूसेज से संबंधित मेथड्स और कॉन्स्टेंट्स हैं।

मेथड resource.getrusage(who)

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

मेथड resource.getpagesize()

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

रिसोर्स यूसेज से संबंधित कुछ कॉन्स्टेंट्स।

Sr.No.कॉन्स्टेंट्स और विवरण
1

RUSAGE_SELF

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

2

RUSAGE_CHILDREN

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

3

RUSAGE_BOTH

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

4

RUSAGE_THREAD

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

उदाहरण कोड

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('Resource 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 का उपयोग पायथन में CX_Freeze का उपयोग

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