-
Как отследить утечки?
В РНР была переменная max_allowed_memory_size. При превышении которой child освобождал всю используемую память и перезапускался.
Как с этим в джанго? -
В Джанго с этим "никак" в том смысле, что работает с памятью тут Питон, Джанго не делает сверх него ничего специального. А у Питона — сборка мусора, и вообще на практике можно считать, что он сам по себе не течет никогда. Исключения составляют две вещи:
Рукотворные "утечки", когда программа сама совершенно законно копит объекты в памяти. Яркий пример — Джанго в дебаг-режиме сохраняет в памяти лог всех запросов к базе, и он, разумеется, всегда растет.
Утечки в сторонних сишных библиотеках. Лучший способ с ними бороться — или не использовать текущие библиотеки, или ныть в рассылки авторам, чтобы починили :-)
-
Понял, спасибо :)
-
Иван, а вообще можно где нибудь почитать про то как в python работают контейнеры для переменных?
подкиньте ссылочек где прочитать про то как там работает рефкаунтинг...
какой аналог php zval используется?
по какому принципу работает garbage collector и насколько сильно он деградирует производительность? -
Честно говоря, я не знаю деталей того, как оно там реализовано, и как на производительность влияет. Почитать наверное лучше всего про модуль gc, который предоставляет интерфейс к коллектору. Ну и погуглить что-нибудь...


