Memory Fragmentation and Bloat in Ruby
Memory is not a simple abstraction. The layers of indirection between "Object.new" and flipping a bit in RAM are numerous: the Ruby heap, the memory allocator, the kernel, the memory management unit and more. Unfortunately, all of these layers can contribute to "bad behavior", resulting in memory fragmentation and bloat. This talk examines each of the different layers of memory abstraction, and how tuning and controlling them can result in reduced memory usage in Ruby applications.