अपाचे "httpd" प्रक्रिया, मेरे सभी सर्वर मेमोरी का उपयोग


9

अमेजन AMI पर आधारित CentOS से चलने वाली 1.7 GB मेमोरी वाला मेरा छोटा सा Ec2 इंस्टेंस, अपाचे के साथ एक समस्या है जिस तरह से इसे बहुत अधिक मेमोरी का उपयोग करना चाहिए। यदि आप स्क्रीनशॉट पर एक नज़र डालें, तो मेमोरी का उपयोग 90-100% तक होगा जब तक कि मैं httpd सेवा को रिबूट नहीं करता, जहां यह शुरू हो जाएगा, अपने तरीके से 90+% तक बढ़ जाएगा।

यहां छवि विवरण दर्ज करें

मैं वास्तव में इस मुद्दे का पता लगाने के बारे में कुछ सहायता की सराहना करूंगा। क्या यह संभवतः "सामान्य" अपाचे व्यवहार है, सभी उपलब्ध स्मृति का उपयोग करने के लिए? या वहाँ एक संभव रिसाव मैं नीचे शिकार करने के लिए है। फिलहाल मैं थोड़ा परेशान हूं कि क्या हो सकता है।

हम Apache MPM prefork का उपयोग कर रहे हैं, और कोई sql या कुछ भी समान नहीं है - बस Apache। वेबसाइट यहाँ है


1
यह किसी भी स्वैप का उपयोग करने के लिए प्रकट नहीं होता है तो समस्या क्या है?
HTTP500

तथ्य यह है कि इसकी इतनी स्मृति का उपयोग एक चिंता का विषय नहीं होना चाहिए? मेरे नौसिखिए अनुभव का बहाना, मुझे लगता है कि यह एक गलत धारणा हो सकती है। शायद यह सामान्य व्यवहार है और यह कि अपाचे को कम ट्रैफ़िक वेबसाइट होने के बावजूद सभी मेमोरी का उपयोग करने के लिए डिज़ाइन किया गया है?
अमिविट जूल

1
मैंने देखा कि आप NewRelic का उपयोग कर रहे हैं, जो अपाचे में खर्च किए गए समय को भी लॉग कर सकता है (सहायक हो सकता है) यदि आप इस लाइन को अपने httpd conf में जोड़ते हैं: RequestHeader set X-Request-Start "%t"यदि आप पहले से ही नहीं हैं। जब आप ऐप सर्वर> ओवरव्यू पर जाते हैं तो यह "अनुरोध पंक्तिबद्ध" के रूप में दिखाई देगा - समस्या की तह तक पहुंचने में आपकी मदद कर सकता है।
के.एम.

जवाबों:


8

जैसा कि HTTP500 ने कहा, आपको शायद इसकी चिंता नहीं करनी चाहिए जब तक कि मशीन वास्तव में घुट रही हो। मदद पर एक नज़र डालें ! लिनक्स मेरी राम! । यह काफी अनुरूप स्थिति नहीं है, क्योंकि आपके पास रैम का उपयोग करने वाले बफ़र्स के बजाय प्रक्रियाएं हैं, लेकिन यह बहुत दूर नहीं है: आपकी मशीन की भौतिक रैम का उपयोग किया जाने वाला एक संसाधन है, या तो कर्नेल बफ़र्स या अतिरिक्त अपाचे कार्यकर्ता प्रक्रियाओं को तुरंत आने वाली संभाल के लिए अनुरोध। यदि आप RAM का उपयोग नहीं कर रहे हैं, तो आपने अपने बॉक्स के आकार के लिए अधिक शुल्क लिया है।

वैसे भी, यदि आप MPM सेटिंग्स के साथ खेलना चाहते हैं, तो Apache प्रलेखन http://httpd.apache.org/docs/current/mod/prefork.html है

जैसा कि आपने कहा है कि साइट कम ट्रैफ़िक है, आप शायद मिन्सपर्सवर्कर्स, स्टार्टर्सवियर्स आदि को कम कर सकते हैं। तब आपके पास उनके नापाक उद्देश्यों के लिए कर्नेल बफ़र्स द्वारा खपत की जाने वाली मुफ्त रैम होगी।


4

आपकी सभी मेमोरी का उपयोग करने वाली लिनक्स सामान्य है, मेमोरी जो उपयोग में नहीं है अन्यथा डिस्क कैश के रूप में पुन: purposed है। देखें: linux मेरे राम खाया

के आउटपुट free -mको देखकर आप इसे सत्यापित कर सकते हैं और इस तरह से कुछ देखने की उम्मीद कर सकते हैं:

             total       used       free     shared    buffers     cached
Mem:          7889       6887        101          0        106       2307
-/+ buffers/cache:       5373       3416
Swap:         1903         17       1886

+/- बफ़र्स / कैश लाइन वह है जो आप चाहते हैं। यह कैश्ड रैम को मुफ्त में जोड़ता है ताकि आपको बेहतर तस्वीर मिल सके कि वास्तव में कितनी मेमोरी उपलब्ध है। इस मामले में, आप 3416 नंबर पर ध्यान देना चाहते हैं, 101 पर नहीं।

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