У меня есть приложение на Ruby, которое использует eventmachine и запускает 16 процессов, каждый из которых управляет 1000 подключениями.
Первоначально каждый процесс использует только около 150 МБ, однако после некоторого времени выполнения они потребляют все больше и больше по 500 МБ, и мне не хватает памяти и подкачки.
Количество открытых соединений (обозначено EM.connection_count
) является нормальным (около 1000 постоянно), поэтому на самом деле больше не должно быть ссылок на старые соединения.
К сожалению, memprof работает только под Ruby 1.8, поэтому в моем случае это не вариант.
Я не хочу создавать ITAPPMONROBOT для своего приложения только для того, чтобы оно могло работать 24/7/365. Как я могу найти утечку памяти здесь или как я могу помочь ГХ?