Язык скриптования сайтов Parser 3

Statusmemory


memory. Информация о памяти под контролем сборщика мусора [3.1]


Это поле - хеш с информацией о памяти, находящейся под контролем сборщика мусора.

Поле

Значение (в килобайтах)

Детали

used



Занято

В это число не включен размер cлужебных данных самого сборщика мусора.

free

Свободно

Свободная память скорее всего фрагментирована.

ever_allocated_since_compact

Было выделено с момента последней сборки мусора. См. memory:compact.

Между сборками мусора это число только растет.

Факты освобождения памяти без сборки мусора на него не влияют, только сборки мусора.

ever_allocated_since_start

Было выделено за все время обработки запроса

Это число только растет.

Ни факты сборки мусора, ни освобождения памяти между сборками мусора на него не влияют.

Рекомендуемый способ анализа

Временно добавьте вызовы…

^musage[before XXX]

^musage[after XXX]


…вокруг интересующего вас блока вот этого метода…

@musage[comment][v;now;prefix;message;line]

$v[$status:memory]

$now[^date::now[]]

$prefix[[^now.sql-string[]] $env:REMOTE_ADDR: $comment]

$message[$v.used $v.free $v.ever_allocated_since_compact $v.ever_allocated_since_start $request:uri]

$line[$prefix $message ^#0A]

^line.save[append;/musage.log]

$result[]


…и проанализируйте журнал.

Важно: в ходе работы Parser захватывает у операционной системы дополнительные блоки памяти по мере необходимости. Поэтому есть моменты, когда и used и free, увеличиваются. Это нормально.

Примечание: для записи журнала не рекомендуется использовать веб-пространство.



Содержание раздела