Как узнать память потребляемую php-скриптом?

Скрипт работает 2-3 минуты поэтому знать использование памяти было бы неплохо. В php есть memory_get_usage () и memory_get_peak_usage() сам ими ни разу не пользовался, но слышал что они показывают довольно не точно, а что бы показывали точно надо запускать из командной строки скрипт.

Вопрос: 1 если для запуска из командной строки использовать крон а значения функций писать в текстовый файл например, данные относительно точные получатся?

Вопрос 2: с функцией пикового потребления memory_get_peak_usage в целом понятно что она измеряет, но если скрипт скажем:
- первую минуту делает curl и большинство времени ожидает ответ,
- вторую минуту выхватывает из БД большой массив и сравнивает значения curl с элементами массива
- третью минуту он пишет логи и всякую мелочь делает (память используется средне)

memory_get_usage - Возвращает количество памяти в байтах, которое было выделено PHP скрипту на на данный момент.

"На данный момент" но момент он же как бы всегда в движении. Т.е. я в середине скрипта сделаю все переменные = null это на результат работы не повлияет т.к. память под них уже была выделена и момент назад было много, а сейчас ноль? Или исходя из примера на странице https://php.net/manual/ru/function.memory-get-usage.php следует что её надо измерять 3 раза в коде - после curl ставить, после массивов и в конце?
  • Вопрос задан
  • 5343 просмотра
Пригласить эксперта
Ответы на вопрос 1
@qxcoder
---
Самое просто решение - сделать так:

1. В начало вставить
$mem_start = memory_get_usage();

2. В конец
echo memory_get_usage() - $mem_start;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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