अपाचे इतनी प्रक्रियाएं क्यों चला रहा है? यहाँ अत्यधिक रैम?


17

मुझे लगता है कि अपाचे मेरे LAMP सर्वर (ubuntu 10.10) पर कई प्रक्रियाएं चला रहा है। मैं सिर्फ एक डेटाबेस के रूप में MySQL के साथ एक Wordpress साइट चला रहा हूं। ऐसा लगता है कि www-data apache2 चल रहा है, इससे अधिक चाहिए (बहुत अधिक मेमोरी का उपयोग करके), क्या मैं सही हूं:

ID      Owner       Size        Command   
31200   www-data    251236 kB   /usr/sbin/apache2 -k start
20678   www-data    250948 kB   /usr/sbin/apache2 -k start
25781   www-data    248888 kB   /usr/sbin/apache2 -k start
31045   www-data    248844 kB   /usr/sbin/apache2 -k start
19926   www-data    246480 kB   /usr/sbin/apache2 -k start
20749   www-data    239380 kB   /usr/sbin/apache2 -k start
32616   www-data    238632 kB   /usr/sbin/apache2 -k start
8846    mysql   238128 kB   /usr/sbin/mysqld
24178   www-data    234228 kB   /usr/sbin/apache2 -k start
32618   www-data    232344 kB   /usr/sbin/apache2 -k start
32615   www-data    232204 kB   /usr/sbin/apache2 -k start
19805   root    208156 kB   /usr/sbin/apache2 -k start

मेरी पिछली नौकरी पर भी यही मामला था (CentOS)। मैंने सिर्फ यह माना कि वे सभी बाल प्रक्रियाएं थीं, प्रत्येक अनुरोध के लिए अपाचे शुरू होता है।
हमने

हम्म। मैं इस प्रणाली पर स्मृति से बाहर चलने के बारे में चिंतित हूं क्योंकि यह VPS है।
ट्रेंट स्कॉट

जवाबों:


19

जब ग्राहक अनुरोध आता है, तो अपाचे उन्हें तैयार करने के लिए कई प्रक्रियाएं चला रहा है। सर्वर प्रक्रिया को धीमा करना, इसलिए ग्राहक के लिए इंतजार करना सबसे अच्छा है।

मेमोरी उपयोग के लिए, आपको खाते के RES आकार (जैसा कि ऊपर दिखाया गया है) में लेना चाहिए, जो कि कार्य द्वारा उपयोग की जाने वाली भौतिक मेमोरी की मात्रा है।

आपको क्या लगता है कि आपके पास बहुत अधिक मेमोरी का उपयोग करके कई अपाचे 2 प्रक्रियाएं हैं? आप क्या उम्मीद करते हैं? आप ऐसा क्यों उम्मीद करते हैं?


यह क्लाउड-आधारित छवि पर है। यह सिर्फ ऐसा लगता है कि यह इस तरह की एक छोटी सी साइट के लिए अधिक मेमोरी का उपयोग कर रहा है। वास्तविक स्मृति: 496.36 एमबी कुल / 92.02 एमबी मुक्त स्वैप स्थान: 1024 एमबी कुल / 975.93 एमबी मुफ्त
ट्रेंट स्कॉट

1
@ टेंटन: पावेल के जवाब के साथ जो ठीक लगता है। जब तक आप वास्तव में एक mysql दुर्घटना या स्मृति की कमी के कारण कुछ में चलाते हैं, तब तक आपको ठीक होना चाहिए। यदि ऐसा होता है, तो आपको इन स्पॉन्स्ड प्रक्रियाओं को सीमित करने के लिए अपाचे कॉन्फ़िगरेशन की तलाश करनी चाहिए।
नंदिनी आनंद

2
लिनक्स का उपयोग अधिकांश मेमोरी को रखने की कोशिश करेगा। अगर इसमें डालने के लिए और कुछ नहीं है, तो यह कैश और डिस्क बफ़र्स के लिए रैम का उपयोग करेगा। खाली मेमोरी व्यर्थ मेमोरी है (यदि आप रैम से बाहर नहीं चल रहे हैं)।
पावेल ब्रोडैकी

3

जैसा कि पावेल द्वारा उत्तर दिया गया है, अपाचे एक प्रक्रिया पूल के साथ अनुरोध मॉडल के अनुसार एक प्रक्रिया का उपयोग करता है (या mpm_worker के साथ अनुरोध प्रति धागा)।

आप नॉन-ब्लॉकिंग IO, जैसे कि nginx पर आधारित वेब सर्वर का उपयोग करके मेमोरी उपयोग को कम करने में सक्षम हो सकते हैं। इस तरह सर्वर को प्रति कनेक्शन एक प्रक्रिया / थ्रेड समर्पित करने की आवश्यकता नहीं है।


2

अपाचे के रूप में आप इसे कॉन्फ़िगर करने के रूप में कई प्रक्रियाओं चलेंगे। कॉन्फ़िगरेशन भिन्न होता है यदि आप प्रीफ़ॉर्क या वर्कर मल्टी-प्रोसेसिंग मॉड्यूल का उपयोग कर रहे हैं ।

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