हम एक भारी Drupal वेबसाइट चला रहे हैं जो वित्तीय मॉडलिंग करती है। हमें लगता है कि किसी तरह की मेमोरी लीक हो रही है, इस तथ्य को देखते हुए कि अपाचे द्वारा उपयोग की जाने वाली मेमोरी बढ़ती है जबकि अपाचे प्रक्रियाओं की संख्या स्थिर होती है:
हम जानते हैं कि मेमोरी की समस्या अपाचे / PHP से आ रही है क्योंकि जब भी हम /etc/init.d/httpd reload
मेमोरी यूज़ ड्रॉप (स्क्रीनशॉट देखें और CLI आउटपुट के नीचे देखें) जारी करते हैं:
Httpd से पहले पुनः लोड करें
$ मुक्त कुल उपयोग मुक्त साझा बफ़र्स कैश्ड मेम: 49447692 45926468 3521224 0 191100 22609728 - / + बफ़र्स / कैश: 23125640 26322052 स्वैप: 2097144 536552 1560592
Httpd के बाद पुनः लोड करें
$ मुक्त कुल उपयोग मुक्त साझा बफ़र्स कैश्ड मेम: 49447692 28905752 20541940 0 191360 22598428 - / + बफ़र्स / कैश: 6115964 43331728 स्वैप: 2097144 536552 1560592
प्रत्येक अपाचे थ्रेड को memory_limit
512MB का एक PHP सौंपा गया है जो उच्च मेमोरी उपयोग को अनुरोधों की कम मात्रा को चित्रित करता है, और max_execution_time
120 सेकंड की एक थ्रेड को समाप्त करना चाहिए जो निष्पादन में अधिक समय ले रहा है, और इसलिए हमें मेमोरी उपयोग में निरंतर वृद्धि को रोकना चाहिए। देख के।
प्रश्न: हम कैसे जांच कर सकते हैं कि इस स्मृति रिसाव के कारण क्या है?
आदर्श रूप से मैं समस्या निवारण चरणों की तलाश कर रहा हूं जो कि देव टीम को परेशान किए बिना मैं सिस्टम पर प्रदर्शन कर सकता हूं।
अतिरिक्त जानकारी:
OS: RHEL 5.6
PHP: 5.3
Drupal: 6.x
MySQL: 5.6
FYI करें हम स्वैपिंग समस्या के बारे में जानते हैं, जिसकी हम अलग से जाँच कर रहे हैं और स्मृति रिसाव से कोई लेना-देना नहीं है जिसे हमने स्वैप करने से पहले देखा है।
memcached
लाइब्रेरी का उपयोग कर रहे हैं । मेम्चेचे व्यवस्थापक पृष्ठ के आधार पर memcache.php
, हम सभी देख सकते हैं कि हमने 5GB
मेमेचे को आवंटित किया है, जिसका 3.3GB
उपयोग किया जा रहा है। बहुत अच्छा होगा यदि आप हमें यहाँ और सहायता कर सकते हैं।
memcached
डेमॉन ही शायद ठीक है। यह पीएचपी मेकचे लाइब्रेरी है जो मेमोरी को लीक नहीं कर सकती है (और इस तरह एपाचे प्रोसेस मेमोरी उपयोग को बढ़ाती है)। मेरी समस्या लगभग 1-2 साल पहले थी, इसलिए उसके बाद चीजें तय हो सकती थीं। वैसे भी, यदि मेमकेच आपके लिए अनिवार्य नहीं है, तो इसे थोड़ी देर के लिए अक्षम करने का प्रयास करें और देखें कि क्या अपाचे मेमोरी का उपयोग अभी भी बढ़ता है।
httpd
, तो मेमोरी उपयोग बढ़ता रहता है और बॉक्स अंततः मेमोरी कर्नेल संदेशों में से कुछ के साथ क्रैश हो जाता है। प्रदर्शन अच्छे हैं (जब तक कि मेमोरी उपयोग मेमोरी सीमा के करीब नहीं है)। कृपया स्वैपिंग समस्या पर ध्यान न दें।