Отслеживать утечки памяти в скрипте Ruby - PullRequest
4 голосов
/ 21 апреля 2009

Я создал Ruby XMPP Framework под названием babylon . Затем я создал несколько приложений и, несмотря на то, что они работают довольно гладко, кажется, что они постепенно поглощают память моего компьютера.

Я подозревал утечки, поэтому сначала я добавил это в какой-то момент в моем коде:

puts `ps -o rss= -p #{Process.pid}`.to_i

Как и предполагалось, выход продолжал расти ... медленно, но верно.

Я пытался отследить утечки с Дайком, как объяснено здесь 1011 *.

К сожалению, Дике не удалось обнаружить какую-либо утечку. Даже после того, как он работал довольно долго, он по-прежнему возвращает те же объекты.

Итак, как я могу быть уверен, что мой фреймворк протекает, а не просто занимает немного ОЗУ до некоторой максимальной точки, а затем начинает ее освобождать?

И как я могу отслеживать утечки и исправлять их?

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 23 апреля 2009

Я слышал хорошие отзывы об Ruby Memory Tracking API , но он не бесплатный.

Существует также полезная запись в блоге для , использующая valgrind для поиска утечек памяти в рубине.

Существуют и другие решения для Ruby on Rails, но, похоже, вы вообще не используете rails.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...