Search                        Top                                  Index
HELP POPGCTRACE                                 Steven Hardy, March 1982
                                            Revised A.Sloman, April 1989

    <boolean|integer> -> popgctrace;

If POPGCTRACE is set to TRUE then a message is output after each garbage
collection, giving the GC time and the memory allocation in the form

;;;   GC-<code>(X) TIME: <t> MEM: used <u> + free <f> + stack <s> = <m>

where <code> is a 4-letter code indicating why the GC happened, <t> is
the time for the GC in 1/100ths sec, <u> is the number of words used in
the heap, <f> the number free, <s> the number taken by the userstack,
and <m> the total (note that these values include structures locked in
with -sys_lock_heap-). X is a letter indicating which garbage collection
algorithm was used (C = copying, N = non-copying). The characters of the
message are output through -cucharout-.

An example printout with POPGCTRACE set to be TRUE might be

;;; GC-auto(C) TIME: 0.99, MEM: used 239006 + free 121442 + stack 0
     = 360448

If the value of POPGCTRACE is an integer then information about PROLOG
memory usage is also printed. For example:-

;;; GC-user(C) TIME: 0.53, MEM: used 9729 + free 94719 + stack 0 = 104448
;;;            CALLSTACK: 79;;;
;;;            PROLOG: trail 7 + free 2008 + contn 33 = 2048

This indicates that the collection took 0.53 seconds, and afterwards
there were 9729 words used, and 94719 free, with a total of 104448.  The
number for STACK shows how much space is taken on the POP-11 user stack.
The third line shows how space is used on Prolog's variable trail and
continuation stacks.

The value of POPGCTRACE is user-assignable, and the default is FALSE.

See also HELP
    *SYS_LOCK_HEAP   - locks the heap
    *POPMEMLIM       - on setting the maximum memory size
    *POPMEMUSED      - holds total memory used at last garbage collection
    *SYSGARBAGE      - causes a garbage collection
    *POPGCRATIO      - helps determine memory allocation for the system
    *POPGCTIME       - holds the CPU time spent on garbage collections
    *SYSTIME         - holds total CPU time for current run of POP system

PLOGHELP *SYSTEM     - on predicates that control the PROLOG system

REF *SYSTEM/popgctrace - for more detail

--- C.all/help/popgctrace ----------------------------------------------
--- Copyright University of Sussex 1989. All rights reserved. ----------