2009-04-17 18 views
6

खाने के लिए पाइथन प्रक्रिया की जांच करना मेरे पास एक अजगर प्रक्रिया (पिलोन वेबैप) है जो लगातार 10-30% CPU का उपयोग कर रही है। मैं क्या हो रहा है, इस बारे में कुछ अंतर्दृष्टि प्राप्त करने के लिए लॉगिंग को बेहतर/ट्यून कर दूंगा, लेकिन तब तक, क्या कोई उपकरण/तकनीक है जो यह देखने की अनुमति देती है कि पाइथन प्रक्रिया क्या कर रही है, कितने और कितने व्यस्त धागे आदि हैं?सीपीयू

अद्यतन:

  • कॉन्फ़िगर किया गया पहुँच लॉग जो दिखाता चल रहा कोई अनुरोध देखते हैं कि, webapp सिर्फ
  • कोई मतलब नहीं सुस्ती है मिडलवेयर श्रृंखला में paste.profile में प्लग करने के लिए के बाद से वहाँ कोई अनुरोध कर रहे हैं , गतिविधि या तो वेबएप के कार्यकर्ता धागे या पास्टर वेब सर्वर
  • इस तरह चलने वाले पास्टर में होनी चाहिए: "पायथन-एम सीप्रोफाइल -ओ आउटफाइल/यूएसआर/बिन/पास्टर dev.ini" और निरीक्षण परिणामों से पता चलता है कि अधिकतर समय व्यतीत होता है "posix.waitpid" में। Paster चलाता उपप्रक्रिया में webapp, उपप्रक्रिया गतिविधि प्रोफाइलर
  • में देख द्वारा उठाया नहीं है, हैकिंग PasteScript "की सेवा" कमांड ताकि subprocesses प्रोफाइल जायेगा

एक और अद्यतन:

बहुत फेरबदल के बाद , विभिन्न स्थानों में प्रोफाइलर चिपकाने और पेस्टस्क्रिप्ट के साथ परिचित होने के बाद, मैंने पाया कि निरंतर सीपीयू लोड दूर हो जाता है यदि एप्लिकेशन "--reload" पैरामीटर के बिना शुरू होता है (यह ध्वज कोड बदलता है, विकास में आसान होने पर खुद को पुनरारंभ करने के लिए पास्टर को बताता है) जो उत्पादन पर्यावरण में ठीक है।

+1

क्या ऑपरेटिंग सिस्टम? – mavnn

उत्तर

7

Profiling आपको यह करने में मदद कर सकता है कि यह क्या कर रहा है। यदि आपका सॉर्ट "टाइम" द्वारा आउटपुट करता है तो आप देखेंगे कि कौन से फ़ंक्शन सीपीयू समय को बढ़ा रहे हैं, जो आपको कुछ अच्छे संकेत दे सकते हैं।

6

जैसा कि आपने नोट किया है, --लोड मोड में, पेस्ट लोड करने वाली फ़ाइलों में से कोई भी बदल गया है या नहीं, यह देखने के लिए प्रति सेकंड फाइल सिस्टम को मिटा देता है। यदि उनके पास है, तो पेस्ट प्रक्रिया को फिर से लोड करता है। वांछित होने पर परिवर्तनों के लिए गैर-पायथन कोड मॉड्यूल की निगरानी करने के लिए आप मैन्युअल रूप से पेस्ट भी बता सकते हैं।

आप पुनः लोड-अंतराल विकल्प के साथ पुनः लोड अंतराल को बदल सकते हैं, इससे सीरियल उपयोग को कम कर दिया जाएगा - क्योंकि यह कम बार-बार स्वीप होगा।

संबंधित मुद्दे