मुझे कैसे पता चलेगा कि एक अपाचे प्रक्रिया क्या कर रही है?


11

कभी-कभी अपाचे पागल हो जाता है और मेरी सारी मेमोरी खा जाता है और स्वैप करता है, लेकिन मुझे नहीं पता कि यह कैसे पता लगाया जाए कि कौन सा वेब ऐप इसका कारण है।

पीएस मुझे इस प्रक्रिया के लिए आउटपुट देता है; "निर्बाध नींद (आमतौर पर IO)"

www-data  1526  0.1 78.9 14928852 3191628 ?    D    Oct17   6:45 /usr/sbin/apache2 -k start

मुझे रूबी + रेडमाइन पर संदेह है, लेकिन मैं निश्चित होना चाहता हूं

जवाबों:


11

सुनिश्चित करें कि आपने mod_status.soअपने अपाचे मॉड्यूल के भीतर लोड किया है, फिर अपने httpd.conf के लिए ऊपर देखें / जोड़ें:

# Uncomment the following lines to enable mod_status support:
#
ExtendedStatus On

<Location /server-status>
SetHandler server-status

Order Deny,Allow
Deny from all
Allow from YOUR_IP_HERE
</Location>

इससे आप अपने http सर्वर के भीतर लोड किए जा रहे सभी पेजों को देख पाएंगे।

इसे एक्सेस करने के लिए http: // your_ip / server-status का उपयोग करें और केवल परिभाषित आईपी ही Allow from YOUR_IP_HEREइसे देख पाएगा।


1
इसके अलावा, मैं उपयोग करने का सुझाव देता हूं Allow from localhost, इसलिए बाद lynx http://localhost/server-statusमें कंसोल में उस जानकारी की जांच करना संभव है ।
Andron

अपाचे 2.4 में ऑर्डर के बजाय सभी की आवश्यकता है ...
अलेक्जेंडर पाविक

5

एक lsof -p आपको यह दिखाएगा कि किस फाइल को संभालना है। इसके अलावा स्ट्रेस-पी और लेट्रेस-पी को डिबग करने की कोशिश करना आसान हो सकता है।


दोनों बहुत अच्छे उत्तर :)
जोर्नसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.