Повышенное потребление памяти (периодически)

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
eresik
Сообщения: 44
Зарегистрирован: 2010.10.23, 10:39

Повышенное потребление памяти (периодически)

Сообщение eresik »

Сейчас занимаюсь проектом и столкнулся с необычным поведением.
Это может быть даже и не относится к Yii, но просто даже нет предположений - что это может быть.

Нормальное потребление памяти на страницу - 5-8 Мб.

Ничего не делаю. Не прикасаюсь.

Через некоторое время (час-два) - потребление памяти около 20 Мб.

Копаю - откуда???
Получается что эта память выделяется ещё на этапе подключения автозагрузки.
require __DIR__ . '/../vendor/autoload.php';

Переключаю на хостинге PHP с 7.2 на 7.1 - потребление памяти возвращается к привычным 5-8 Мб.
Переключаю обратно на 7.2 - потребление памяти по прежнему в норме 5-8 Мб

Имеет место как на 7.1 так и на 7.2.

Дополнительные симптомы изучаю.
Буду копать внутрь автозагрузки, чтоб понять - с чего это вдруг такое поведение.

Есть предположения? Может PHP подбивает статистику по скриптам и заранее выделяет побольше памяти? А я и не в курсе такого нововведения.
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Повышенное потребление памяти (периодически)

Сообщение yiiliveext »

Для начала неплохо было бы рассказать, где вы смотрите потребление памяти.
eresik
Сообщения: 44
Зарегистрирован: 2010.10.23, 10:39

Re: Повышенное потребление памяти (периодически)

Сообщение eresik »

memory_get_usage

echo memory_get_usage();
die();
eresik
Сообщения: 44
Зарегистрирован: 2010.10.23, 10:39

Re: Повышенное потребление памяти (периодически)

Сообщение eresik »

От техподдержки пришёл такой ответ:
"При смене версии в панели управления происходит сброс всех обращений к обработчикам и потребление памяти снижается. В процессе же дальнейшей работы по всей видимости идет различные обращения cms, что и приводит к увеличению потребления памяти. "

Просто ни разу не видел чтоб потребление памяти резко скакало.
Кто знает - это нормально? При условии что не связано с CMS.
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Повышенное потребление памяти (периодически)

Сообщение unknownby »

eresik писал(а): 2020.02.03, 14:35 При условии что не связано с CMS.
Если используете CMS, то может загуглить проблемы с этой CMS? По поводу потребления памяти.
eresik
Сообщения: 44
Зарегистрирован: 2010.10.23, 10:39

Re: Повышенное потребление памяти (периодически)

Сообщение eresik »

unknownby писал(а): 2020.02.03, 14:56
eresik писал(а): 2020.02.03, 14:35 При условии что не связано с CMS.
Если используете CMS, то может загуглить проблемы с этой CMS? По поводу потребления памяти.
Да не имеет это отношения к CMS (скорее всего).
Или на ошибку какую в PHP наткнулся - крайне маловероятно.
Или что-то на хостинге - даже предположить не могу что.
Или что-то ещё....

Вот отрывки из моего лога потребления памяти на этапе загрузки каждого файла композером. Это самое начало логов, так что до загрузки CMS там ещё далеко.
Хорошо видно, что проблема не в каком-то конкретном файле, а вот прям на каждом шаге - прибавляется больше памяти чем следовало бы.

НОРМАЛЬНОЕ ПОТРЕБЛЕНИЕ ПАМЯТИ:
1______390,216 (САМАЯ ПЕРВАЯ СТРОКА В INDEX.PHP)
/home/e/eee/memorytest/vendor/composer/../symfony/polyfill-mbstring/bootstrap.php______397,104
/home/e/eee/memorytest/vendor/composer/../symfony/polyfill-php72/bootstrap.php______397,200
/home/e/eee/memorytest/vendor/composer/../symfony/polyfill-intl-idn/bootstrap.php______397,312
/home/e/eee/memorytest/vendor/composer/../ezyang/htmlpurifier/library/HTMLPurifier.composer.php______397,776
/home/e/eee/memorytest/vendor/composer/../ralouphie/getallheaders/src/getallheaders.php______397,888
/home/e/eee/memorytest/vendor/composer/../symfony/polyfill-iconv/bootstrap.php______397,984
/home/e/eee/memorytest/vendor/composer/../guzzlehttp/psr7/src/functions_include.php______398,192
/home/e/eee/memorytest/vendor/composer/../swiftmailer/swiftmailer/lib/swift_required.php______400,192
/home/e/eee/memorytest/vendor/composer/../opis/closure/functions.php______400,928

.... и так далее, в конце приходим примерно к 2Мб

ПОВЫШЕННОЕ ПОТРЕБЛЕНИЕ ПАМЯТИ:
1______356,816 (САМАЯ ПЕРВАЯ СТРОКА В INDEX.PHP)
/home/e/eee/memorytest/vendor/composer/../symfony/polyfill-mbstring/bootstrap.php______690,472
/home/e/eee/memorytest/vendor/composer/../symfony/polyfill-php72/bootstrap.php______734,336
/home/e/eee/memorytest/vendor/composer/../symfony/polyfill-intl-idn/bootstrap.php______740,192
/home/e/eee/memorytest/vendor/composer/../ezyang/htmlpurifier/library/HTMLPurifier.composer.php______740,592
/home/e/eee/memorytest/vendor/composer/../ralouphie/getallheaders/src/getallheaders.php______747,336
/home/e/eee/memorytest/vendor/composer/../symfony/polyfill-iconv/bootstrap.php______763,976
/home/e/eee/memorytest/vendor/composer/../guzzlehttp/psr7/src/functions_include.php______884,128
/home/e/eee/memorytest/vendor/composer/../swiftmailer/swiftmailer/lib/swift_required.php______892,416
/home/e/eee/memorytest/vendor/composer/../opis/closure/functions.php______897,744

.... и так далее, в конце приходим примерно к 10Мб
eresik
Сообщения: 44
Зарегистрирован: 2010.10.23, 10:39

Re: Повышенное потребление памяти (периодически)

Сообщение eresik »

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

Но КАК?
Даже если бы меня попросили так сделать, я бы не придумал как такое настроить.

Примерно через час после смены версии PHP перестаёт работать opcache в PHP (как если бы сделали ini_set('opcache.enable',0); )
Ответить