Warum verbraucht Ruby so viel Speicher?
(joyfulbikeshedding.com)Dies ist ein Artikel, der sich auf Ruby unter Linux beschränkt.
Auch wenn Sie Ruby nicht kennen, ist er lesenswert: Er erklärt anschaulich, wie Speicher auf Ebene des Betriebssystems und des Interpreters verwaltet wird, wie Paging und Paging-Pools verwendet werden und was es mit Speicherfragmentierung auf sich hat.
Auch aus der Beschreibung, wie man Memory Leaks aufspürt, lässt sich offenbar viel lernen.
4 Kommentare
Nun, man spricht zwar von glibc, aber tatsächlich dürften wohl im Grunde alle Linux-Programme betroffen sein, die die Standard-C-Bibliothek verwenden und Multithreading einsetzen ;o ;
Da Python ebenfalls von glibc abhängt, gibt es dort dasselbe Problem. Deshalb verwendet man manchmal statt des Standard-Allocators Jemalloc, um die Speicherfragmentierung zu verringern.
http://egloos.zum.com/mcchae/v/11175458
Übrigens, dieser Satz ist wirklich sehr eindrucksvoll ...
Es gab kein Tool -> also habe ich eines gebaut.
Ich finde, das ist eine großartige Haltung für Programmierer.