memory. Information on memory-controlled by garbage collector

This field is a hash containing information on memory controlled by garbage collector.

Field
Value (in kilobytes)
Details
used
memory used
This number does not include size of housekeeping data used by garbage collector itself.
free
free memory
Free memory is most probably fragmented.
ever_allocated_since_compact
How much memory was allocated since last garbage cleaning, see memory:compact.
This number constantly increases between garbage cleaning procedures.
Freeing memory procedures alone do not affect it. It is affected only by garbage cleaning procedures.
ever_allocated_since_start
How much memory was allocated during the whole request processing
This number constantly increases. It is affected by neither garbage cleaning procedures nor freeing memory procedures between them.


Recommended way of analysing
Surround the block to be checked with constructions…

^musage[before XXX]
^musage[after XXX]

…to call this method:

@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[]

…and analyze the log.

Important notice: while working, Parser takes additional memory blocks from system as required. That is why it is normal when both
used and free increase from time to time.

Note: it is not recommended to store log file within web-space.


Copyright © 1997–2021 Art. Lebedev Studio | http://www.artlebedev.com Last updated: 04.09.2008