httpd
( Apache/2.2.29
) मेमोरी उपयोग के साथ कुछ समस्याएँ होना ।
समय के साथ, httpd
प्रक्रियाओं में मेमोरी का उपयोग तब तक रेंगता है जब तक कि यह 100% पर न हो जाए।
पिछली बार जब मैंने दोबारा शुरू किया httpd
था, लगभग 24 घंटे पहले। से आउटपुट free -m
है:
[ec2-user@www ~]$ free -m
total used free shared buffers cached
Mem: 1655 1415 239 0 202 424
-/+ buffers/cache: 788 866
Swap: 1023 4 1019
यह साबित करने के लिए कि यह निश्चित रूप से है httpd
, मैंने पुनः आरंभ किया httpd
और free -m
फिर से भाग गया:
[ec2-user@www ~]$ sudo service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[ec2-user@www ~]$ free -m
total used free shared buffers cached
Mem: 1655 760 894 0 202 360
-/+ buffers/cache: 197 1457
Swap: 1023 4 1019
तो, अपाचे को फिर से शुरू करने से 239 एमबी से 894 एमबी तक मुफ्त मेमोरी लगती है - जो एक बड़ी छलांग की तरह लगती है ।
मैं वर्तमान में सक्षम अपाचे मॉड्यूल की सूची से गुजर रहा हूं (इसमें काफी कुछ है) और अक्षम / हटा दिया गया है mod_wsgi
और mod_perl
इनमें से कोई भी इस सर्वर के लिए आवश्यक नहीं है, जो एक PHP- आधारित वेब एप्लिकेशन - मैगनेटो, विशेष रूप से चल रहा है)।
Https://servercheck.in/blog/3-small-tweaks-make-apache-fly के आधार पर , मैंने ps aux | grep 'httpd' | awk '{print $6/1024 " MB";}'
निम्न आउटपुट प्राप्त किए हैं:
[root@www ~]# ps aux | grep 'httpd' | awk '{print $6/1024 " MB";}'
15.1328 MB
118.09 MB
127.449 MB
129.059 MB
117.734 MB
113.824 MB
125.062 MB
123.922 MB
119.855 MB
108.066 MB
136.23 MB
114.031 MB
113.27 MB
110.695 MB
102.113 MB
113.234 MB
186.816 MB
118.602 MB
0.835938 MB
अन्य सुझाए गए निदान उपकरण को चलाना MaxClients
जिसके ps aux | grep 'httpd' | awk '{print $6/1024;}' | awk '{avg += ($1 - avg) / NR;} END {print avg " MB";}'
लिए निम्न रिटर्न है:
[root@www ~]# ps aux | grep 'httpd' | awk '{print $6/1024;}' | awk '{avg += ($1 - avg) / NR;} END {print avg " MB";}'
110.212 MB
इस सर्वर (Amazon AWS m1.small
उदाहरण) में 1.7 Gb
RAM है। तो इसलिए:
आगे कोई संकेत / सुझाव कि कैसे httpd
सेटिंग्स को ट्विक करने के लिए या निदान करने के लिए कि वास्तव में इसके कारण क्या हो सकता है?
nginx
बहुत अच्छी बातें सुनीं, शायद यह समय है जब हम इसे आजमाएंगे, लेकिन ईमानदारी से कहूं तो मैं अपाचे को सालों से इस्तेमाल कर रहा हूं और कभी कोई बड़ी समस्या नहीं आई। Magento वास्तव में स्मृति चबाता है।
grep httpd
-process का कम मेमोरी उपयोग (कम से कम मेरे लिए) शामिल है। इसे ठीक करने के लिए मैं उस रेखा को इस तरह से गणना से बाहर करने की सिफारिश ps aux | grep 'httpd' | grep -v grep | awk '{print $6/1024;}' | awk '{avg += ($1 - avg) / NR;} END {print avg " MB";}'
-/+ buffers/cache
लाइन को देखने की आवश्यकता है ; हालांकि इस मामले में परिवर्तन तुलनीय है। एपाचे को कैसे ट्यून किया गया है, इसके आधार पर, यह अनुरोधों को संभालने के लिए तैयार प्रक्रियाओं के एक जोड़े के साथ शुरू हो सकता है; कई समवर्ती अनुरोधों की अवधि के बाद लोड को संभालने के लिए संभवतः अधिक प्रक्रियाएँ होंगी। निष्क्रिय प्रक्रियाओं की संख्या को भी ट्यून किया जा सकता है। इसलिए यदि अपाचे बहुत अधिक मेमोरी का उपयोग करने के लिए बढ़ता है, तो आपको कुछ ट्यूनिंग करने की आवश्यकता है।