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

$status:memory - хеш с информацией о распределении памяти (в килобайтах), находящейся под контролем сборщика мусора.

Поле
Значение
Детали
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 увеличиваются. Это нормально.

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


Copyright © 1997–2024 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 10.09.2024