मैं डेटा को पुनर्प्राप्त करने और संग्रहीत करने के लिए एक लूप में ट्विटर, मोंगो और समांतर का उपयोग कर रहा हूं।1 जीबी स्मृति आवंटित "lib/ruby / 2.1.0/timeout.rb"
मेमोरी उपयोग हिटिंग 1.5GB +
कैसे जीसी इस सफाई नहीं है?
अद्यतन:Here is the script in question।
allocated memory by location
-----------------------------------
973409328 /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/timeout.rb:82
359655091 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/json-1.8.3/lib/json/common.rb:155
34706221 /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/openssl/buffering.rb:182
31767589 /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/http/response.rb:368
22055648 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/parallel-1.6.1/lib/parallel.rb:183
12129637 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/addressable-2.3.8/lib/addressable/uri.rb:525
11115133 /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/protocol.rb:172
10609088 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/addressable-2.3.8/lib/addressable/idna/pure.rb:177
8333448 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/twitter-5.15.0/lib/twitter/base.rb:152
6041744 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/thread_safe-0.3.5/lib/thread_safe/non_concurrent_cache_backend.rb:8
4857232 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/addressable-2.3.8/lib/addressable/uri.rb:1477
4583920 /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/monitor.rb:241
4524872 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/memoizable-0.4.2/lib/memoizable/method_builder.rb:117
4282752 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/twitter-5.15.0/lib/twitter/base.rb:151
4200641 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/mongo-2.1.1/lib/mongo/monitoring/command_log_subscriber.rb:104
3283047 /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/http/response.rb:61
3150696 /Users/jordan/.rvm/gems/ruby-2.1.5/gems/mongo-2.1.1/lib/mongo/server/monitor.rb:125
allocated memory by gem
-----------------------------------
1084770550 ruby-2.1.5/lib
359655091 json-1.8.3
53016839 addressable-2.3.8
22069048 parallel-1.6.1
18422826 twitter-5.15.0
10829988 mongo-2.1.1
8908392 memoizable-0.4.2
6041744 thread_safe-0.3.5
4904294 faraday-0.9.2
3839455 other
3382080 naught-1.1.0
2429320 bson-3.2.6
1123917 rubygems
320962 rollbar-2.4.0
205097 activesupport-4.2.4
20005 multi_json-1.11.2
कोड के बिना दिखाया गया है कि यह कहना कारण है कि यह लीक संभव नहीं है। यह असंभव रूबी 2.1.5 खुद को लीक नहीं है। यदि कोड SO पर पोस्ट करने के लिए जटिल है, तो मैं कुछ डीबगिंग टूल जैसे ['gc_tracer'] (https://github.com/ko1/gc_tracer) को वीएम और जीसी के लेखक द्वारा लिखे गए सुझावों का सुझाव दूंगा। – joanbm
बीटीडब्ल्यू। 'टाइमआउट' मॉड्यूल का गलत उपयोग मेमोरी लीक का कारण बन सकता है। इसे अक्सर अनदेखा किया जाता है, अगर स्पष्ट रूप से संभाला नहीं जाता है, तो सुनिश्चित करने या बचाव ब्लॉक में भी समय-समय पर अपवाद उत्पन्न हो सकता है। – joanbm
हाँ, मुझे इसका उपयोग कैसे करना चाहिए? –