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

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

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

89284495ff6f494798850cc9338395a7.png

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

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

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

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

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