php Контроль объёма оперативной памяти занимаемой структурами -- переменными и т.д.

Контроль используемой оперативной памяти в PHP

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

Объёмы

Предварительно можно сказать (читая статьи ссылки, на которые есть ниже), что массив в памяти может занимать в 20 раз больше места, чем хранимые им данные (тут становится понятно почему звезда С++ будет светить, пока есть человечество))

О контроле памяти напишу позже.

Общая идея -- проверить сколько памяти выделено начиная с определённого момента

Измерение используемой памяти проходит следующим образом:


$startMemory = memory_get_usage();
// ваш код делает что-то
echo memory_get_usage() - $startMemory, ' байт';

-- это похоже на подсчёт времени работы скрипта.

Источники:

  • Насколько большие массивы (и значения) в PHP:
    habrahabr.ru/post/141093/