2013-03-20 8 views
10


साइडकीक मणि का उपयोग करना - मेरे पास साइडकीक कार्यकर्ता है जो IO.popen का उपयोग करके एक प्रक्रिया (गिट-टीएफ क्लोन बड़ा भंडार) चलाता है और क्लोन की प्रगति की जांच के लिए stdout को ट्रैक करता है।
साइडकीक वर्कर मेमोरी लीक कर रहा है

जब मैं कार्यकर्ता चला रहा हूं, तो मुझे लगता है कि जब तक मैं कर्नेल ओओएम प्राप्त नहीं करता तब तक साइडकीक मेमोरी तब तक बड़ी हो रही है और प्रक्रिया मारे जा रही है। उपप्रवाह (जावा प्रक्रिया) कुल स्मृति का केवल 5% ले रहा है।

मैं अपने कोड में मेमोरी लीक को डीबग/चेक कैसे कर सकता हूं? और क्या popki प्रक्रिया के साथ साइडकीक स्मृति मेरी श्रमिक स्मृति की कुल है?
और क्या किसी को यह पता है कि इसे कैसे ठीक किया जाए?

संपादित
यह मेरा कार्यकर्ता की कोड है - https://gist.github.com/yosy/5227250

संपादित 2
मैं sidekiq बिना कोड भाग गया, और मैं कोई स्मृति लीक है .. यह कुछ के साथ अजीब बात है साइडकीक और टीएफएस में बड़े भंडार

उत्तर

0

मुझे साइडकीक में मेमोरी रिसाव का कारण नहीं मिला, लेकिन मुझे साइडकीक से एक रास्ता मिल गया।

मैंने गिट-टीएफ को संशोधित किया है ताकि सर्वर कमांड हो जो Redis queue से कमांड स्वीकार करता है, यह मेरे कोड से बहुत जटिलता को हटा देता है।

Git-TF के संशोधित संस्करण यहाँ है: https://github.com/yosy/gittf

मैं Sever आदेश के बारे में बाद में प्रलेखन जोड़ना होगा जब मैं कुछ कीड़े ठीक कर देंगे।

संबंधित मुद्दे