![]() We can see our old friend TimezoneTransitionInfo in there, but of course we've learned to accept that one. Let's start by using jmap to investigate the problem. Licensed to The Apache Software Foundation, Īfter 10000 requests have completed, we notice this application seems to grow and grow until it maxes out the heap (JRuby, being on the JVM, automatically limits heap sizes for you). We'll run this application and crank 10000 requests through the /leaky index, so the final request should output "There are 10000 elements now!" ~ ➔ ab -n 10000 This is ApacheBench, Version 2.3 Ĭopyright 1996 Adam Twiss, Zeus Technology Ltd, Either way, we need to find this problem and fix it. Perhaps this was done temporarily for debugging, or perhaps we have a moron on staff. Some genius has decided to save all recent request parameters into a constant on the Leak圜ontroller, keyed by time, wrapped in a custom type, and never cleaned out. ![]() I've added this controller to a simple application: class Leak圜ontroller "There are # elements now!" The analysis supports the "jmap" dump format, so we'll proceed to get a jmap dump of a "leaky" Rails application. The most interesting use of MAT is to analyze a heap dump in a bit more interactive way than with the "jhat" tool. The Eclipse Memory Analyzer, like many Eclipse-based applications, starts up with a "for dummies" page linking to various actions. After my post on Browsing Memory the JRuby Way, one commenter and several other folks suggested I actually show using Eclipse MAT with JRuby. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |