Всем привет. В первую очередь я админ, прошу помощи у гуру девелоперов по python. Вообщем есть сервис написанный на python + twisted. used memory этого сервиса постепенно увеличивается(за сутки откушало 1 гиг). Поделитесь пожалуйста опытом нахождения memory leak? У меня в этом вообще опыта нет.
Здесь всё просто: python - это есть твой "memory leak".
> Здесь всё просто: python - это есть твой "memory leak".Я спрашивал у гуру по python, а не у флудеров.
> memory этого сервиса постепенно увеличивается(за сутки откушало 1 гиг). Поделитесь
> пожалуйста опытом нахождения memory leak? У меня в этом вообще опыта нет.Ты сообщил очень мало информации, ну типа "дорогие товариши учённые, я слышу поземный стук"(С)
Поэтому ответ тоже ешё тот:
Где то твой сервис не отпускает ресурсы, держит их, причём так что GC считает их заюзханными. Вставляй принты в лог в местах выделения ресурсов, и в местах где они должны дропнуться ...
Ну за качество ответа я предупреждал :)
> Поделитесь пожалуйста опытом нахождения memory leak?Лекция: Нахождение утечек памяти в Python программах, 2 ч. - 300$
> Всем привет. В первую очередь я админ, прошу помощи у гуру девелоперов
> по python. Вообщем есть сервис написанный на python + twisted. used
> memory этого сервиса постепенно увеличивается(за сутки откушало 1 гиг). Поделитесь
> пожалуйста опытом нахождения memory leak? У меня в этом вообще опыта
> нет.В вопросе, скорее всего, даже нет python-специфики.
Наиболее вероятно, что где-то выделяются ресурсы (идет запись в переменную/другую структуру данных, либо создание их), которые затем не освобождаются, т.к. GC считает, что они еще будут использоваться. Наиболее вероятные места - циклы, в которых что-то дозаписывается в структуры данных/рекурсия.
> Наиболее вероятные места - циклы, в которых что-то дозаписывается в структуры данных/рекурсия.+ трэды.
>> Наиболее вероятные места - циклы, в которых что-то дозаписывается в структуры данных/рекурсия.
> + трэды.Банально была бага в обработке списка, он просто распухал. Сейчас все ок.