| Version 3 (modified by gz, 3 years ago) |
|---|
Heap Utilization
[Function]
heap-utilization &key (stream *debug-io*) (gc-first t) (area nil) (unit nil) (sort :size) (classes nil) (start nil)
heap-utilization walks the lisp heap, collects information about the objects stored on the heap, and prints a report of the results to stream. It shows the number of objects of each type, the logical size (i.e. the size of the data part of the object) and the physical size (the logical size plus any header and padding bytes).
If gc-first is true (the default), does a full gc before scanning the heap.
If classes is true, classifies objects by class rather than just basic type.
area can be used to restrict the walk to one memory area or a list of areas. Some possible values are :dynamic, :static, :managed-static, :readonly. By default, all areas (including stacks) are examined.
sort can be one of :count, :logical-size, or :physical-size to sort output by count or size.
unit can be one of :kb :mb or :gb to show sizes in units other than bytes.
If start is non-nil, it should be an object returned by get-allocation-sentinel; only objects at higher address are scanned (i.e. roughly, only objects allocated after it).
Welcome to Clozure Common Lisp Version 1.5-dev-r13388 (LinuxX8664)!
? (heap-utilization)
Object type Count Logical size Physical size % of Heap
(in bytes) (in bytes)
FUNCTION 12835 6344288 6497264 27.44%
SIMPLE-BASE-STRING 51815 3158092 3897648 16.46%
SIMPLE-VECTOR 25291 2509672 2820800 11.91%
CONS 168420 2694720 2694720 11.38%
SYMBOL 41357 2315992 2646848 11.18%
HASH-VECTOR 82 2121952 2123264 8.97%
STRUCTURE 15955 656104 902192 3.81%
SIMPLE-UNSIGNED-WORD-VECTOR 5310 699566 762048 3.22%
SLOT-VECTOR 4850 417608 479104 2.02%
SIMPLE-SIGNED-WORD-VECTOR 2 266480 266512 1.13%
SIMPLE-UNSIGNED-BYTE-VECTOR 3941 147087 199920 0.84%
INTERNAL-STRUCTURE 2717 141776 165664 0.70%
INSTANCE 4387 105288 140384 0.59%
BIT-VECTOR 549 45095 53536 0.23%
LOCK 130 6240 8320 0.04%
MACPTR 159 5912 7184 0.03%
BIGNUM 112 4160 5712 0.02%
SIMPLE-UNSIGNED-DOUBLEWORD-VECTOR 1 4088 4096 0.02%
BASIC-STREAM 33 1296 1744 0.01%
DOUBLE-FLOAT 75 600 1200 0.01%
PACKAGE 15 960 1200 0.01%
POPULATION 22 536 720 0.00%
POOL 23 184 368 0.00%
VALUE-CELL 19 152 304 0.00%
SIMPLE-UNSIGNED-LONG-VECTOR 3 72 96 0.00%
COMPLEX 1 16 32 0.00%
Total 338104 21647936 23680880 100.00%
