पिछले हफ्ते हमने एक छोटी परियोजना को अपग्रेड किया जो रेल 3.0.2 पर रेल 3.2.2 पर चल रहा था, जो अपग्रेड करने के बाद भारी मेमोरी लीक/ब्लोट।रेल 3.0 से रेल 3.2 (रूबी 1.9.3 + यात्री)
अपग्रेड के कुछ समय बाद हमने मान्यता दी कि कभी-कभी, 2-3 बार दिन में, हम एक विशाल फ़्यूज़न यात्री प्रक्रिया (1-5 जीबी) देख रहे हैं।
हम फ़्यूज़न पैसेंजर 3.0.11 और रूबी 1.9.3-पी 0 चला रहे हैं। हमने बिना सफलता के विभिन्न रूबी संस्करण (1.9.2-पी 2 9 0 और 1.9.3-पी 125) की कोशिश की है।
बाद में, हमने Oink के साथ हमारे मेमोरी उपयोग को ट्रैक करने का प्रयास किया। दुर्भाग्यवश ओंक मेमोरी ब्लोट के कारण को नहीं दिखाता है - बड़ी प्रक्रियाएं अब लॉगफाइल पर नहीं लिखती हैं।
जब हम रेल 3.0.1 पर वापस आ गए थे तो समस्या समाप्त हो गई है। क्या किसी को भी ऐसी ही समस्याएं हैं? हमने वास्तव में संभावित मेमोरी लीक के लिए हमारे कोड की जांच की, जैसे कि बहुत से ActiveRecord उदाहरण, लेकिन कोई भी नहीं मिला।
क्या आपको लगता है कि यात्री के बजाय यूनिकॉर्न को आजमाने के लिए यह उचित है? या यह संभावना है कि हम एक ही समस्या में भाग लेंगे?
स्मृति रिसाव का पता लगाने के तरीके के बारे में कोई सुझाव स्वागत है। हमने पहले से ही न्यूज़ल सेट अप किया है, लेकिन यह मेमोरी रिसाव के बारे में विस्तृत जानकारी नहीं दिखाता है।
हमने पैसेंजर को यूनिकॉर्न सेटअप द्वारा बदल दिया है और अब सिस्टम अपेक्षा के अनुसार काम करता है। मुझे नहीं लगता कि यह एक सामान्य यात्री समस्या थी या शायद पैसेंजर/आरवीएम (और शायद हमने इसे कैसे स्थापित/अपग्रेड किया) के साथ एक मुद्दा था। –
क्या आप अपने यूनिकॉर्न सेटअप को साझा करना चाहते हैं? मुझे एक ही समस्या है, मेमोरी ओवरफ्लो को रोकने के लिए हर 6 घंटे सर्वर को पुनरारंभ करने की आवश्यकता है! –
देर से उत्तर के लिए खेद है। खैर ... यूनिकॉर्न सेटअप साझा करना शायद यहां एक टिप्पणी के रूप में पोस्ट करने के लिए बहुत अधिक होगा। एक त्वरित Google खोज आपको मदद करनी चाहिए। शायद आप यहां से शुरू करें: https://github.com/blog/517-unicorn।असल में यह अपस्टर्न सर्वर के रूप में यूनिकॉर्न के साथ सिर्फ nginx है। यूनिकॉर्न सेटअप कॉन्फ़िगरेशन में बस एक साधारण यूनिकॉर्न.आरबी है .... हमें यात्री से स्विच करने के लिए शायद एक घंटा लगा। और एक और हमारे कैपिस्ट्रानो कॉन्फ़िगरेशन में यूनिकॉर्न परिनियोजन सामग्री जोड़ने के लिए। –