Я создал Ruby XMPP Framework под названием babylon . Затем я создал несколько приложений и, несмотря на то, что они работают довольно гладко, кажется, что они постепенно поглощают память моего компьютера.
Я подозревал утечки, поэтому сначала я добавил это в какой-то момент в моем коде:
puts `ps -o rss= -p #{Process.pid}`.to_i
Как и предполагалось, выход продолжал расти ... медленно, но верно.
Я пытался отследить утечки с Дайком, как объяснено здесь 1011 *.
К сожалению, Дике не удалось обнаружить какую-либо утечку. Даже после того, как он работал довольно долго, он по-прежнему возвращает те же объекты.
Итак, как я могу быть уверен, что мой фреймворк протекает, а не просто занимает немного ОЗУ до некоторой максимальной точки, а затем начинает ее освобождать?
И как я могу отслеживать утечки и исправлять их?
Спасибо за вашу помощь!