Задать вопрос
SerafimArts
@SerafimArts
Senior Notepad Reader

Как отловить утечку памяти?

Есть скриптик импорта данных, график потребления памяти которого выглядит следующим образом:

89284495ff6f494798850cc9338395a7.png

Хоть алгоритм и построен на корутинках (каждый мини-пик - это новая итерация), но явно где-то происходит утечка (а точнее кто-то забивает память побочными данными). Проблема в том, что язык php 7.1, т.е. никаких устаревших xprof и memprof. В идеале хотелось бы получить слепок всех примитивных zval контейнеров в начале и в самом конце, т.к. подобные штуки 146% аффектятся наполнением массива или строки данными.

Есть какие-то идеи?
  • Вопрос задан
  • 623 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
gobananas
@gobananas
finishhim.ru
Без кода сложно ванговать. Думается что в каждой итерации либо создаётся новая переменная и потом не удаляется, либо в массив добавляется элемент, как-то обрабатывается, потом следующий элемент и так массив растёт со временем.
Ответ написан
gromdron
@gromdron
Работаю с Bitrix24
Посмотрел сообщение Дмитрия и Ваши комментарии - а можно ли узнать вышестоящую функцию которая стоит над ней? Просто логично что данный фрагмент кода будет все время наращиваться, т.к. Там идет перебор все значений и естественно отработка происходит на уровне выше - смотреть надо там :)

UPD: А чем собственно xdebug не угодил?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы