2009-11-17 10 views
6

मुझे लगता है कि मेरी स्थानीय विंडोज 7 मशीन पर मेरा डीजेंगो विकास सर्वर (संस्करण 1.1.1) बहुत सी सीपीयू (~ 30%, टास्क मैनेजर की पायथन.एक्सई एंट्री के अनुसार) का उपयोग कर रहा है, यहां तक ​​कि निष्क्रिय राज्य में, यानी नहीं अनुरोध/बाहर आने का अनुरोध। क्या इसका विश्लेषण करने का एक स्थापित तरीका है जिसके लिए जिम्मेदार हो सकता है?Django विकास सर्वर सीपीयू गहन - विश्लेषण कैसे करें?

धन्यवाद!

मार्टिन

+0

क्या आपने पाइथन प्रोफाइलर पर जानकारी के लिए Google किया था? –

+0

Python.exe प्रक्रिया जिम्मेदार है :) आप यह कहने के लिए अपनी पोस्ट को संशोधित करना चाहेंगे "यह पता लगाने के लिए कि क्या हो सकता है"। –

उत्तर

12

एफडब्ल्यूआईडब्ल्यू, आपको प्रोफाइलिंग करना चाहिए, लेकिन जब आप करते हैं तो मैं शर्त लगाता हूं कि आप पाते हैं कि उत्तर "आपकी फ़ाइलों में बदलावों के लिए मतदान है ताकि यह स्वत: पुनः लोड हो सके।" आप "python manage.py runerver --noreload" के साथ एक त्वरित परीक्षण कर सकते हैं और देख सकते हैं कि यह CPU उपयोग को कैसे प्रभावित करता है।

+0

यह जादू - सीपीयू उपयोग निष्क्रिय राज्य ड्रॉपपड में 0% करने के लिए किया था ... – Hoff

3

नियंत्रण-सी हिट करें और प्रक्रिया को क्रैश करें। यह शायद कहीं दुर्घटनाग्रस्त हो जाएगा कि यह काफी समय बिता रहा है।

या आप एक प्रोफाइलर का उपयोग कर सकते हैं।

+1

आपको लगता है कि यह एक मजाक है, लेकिन गंभीरता से, यह पता लगाने का एक तेज़ तरीका हो सकता है कि आपका प्रोग्राम कितना समय व्यतीत कर रहा है। इस तेजी से और क्रूर दृष्टिकोण से परे, एक प्रोफाइलर का उपयोग करें। – steveha

0

मानक दृष्टिकोण एक प्रोफाइलर का उपयोग करना है। यदि, किसी कारण से आप नहीं कर सकते (जैसे अपाचे मोडपीथॉन में कोई प्रोफाइलर उपलब्ध नहीं है जो आपके Django चला रहा है) तो आपकी सर्वश्रेष्ठ शर्त लॉगिंग के साथ आपके प्रोग्राम को मापने के लिए हो सकती है। अपने कार्यक्रम से संदेश देखें, और देखें कि आप उनसे क्या सीख सकते हैं।

यदि आपको "गणना गणना फ़ू()" दर्ज करना एक संदेश दिखाई देता है और फिर पांच सेकंड बाद "बाहर निकलने की गणना करें()" जो एक प्रमुख सुराग है। या यदि एक विशेष कार्य प्रिंटिंग को बार-बार रखता रहता है।

यहां पाइथन लॉगिंग की एक छोटी सी चर्चा है।

Python debugging tips

संपादित करें: मैं बस देखा आप विशेष रूप से कहा कि यह अपने विंडोज 7 डेस्कटॉप पर है। तो, एक प्रोफाइलर का उपयोग करें। लेकिन मैं इस मामले को सामान्य मामले को कवर करने के लिए छोड़ दूंगा।

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