~ubuntu-branches/ubuntu/raring/boost-build/raring

« back to all changes in this revision

Viewing changes to jam_src/boehm_gc/doc/README.environment

  • Committer: Bazaar Package Importer
  • Author(s): Steve M. Robbins
  • Date: 2008-08-06 00:38:31 UTC
  • mfrom: (4.1.1 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080806003831-zr65893244swds0b
Tags: 2.0-m12-2
* debian/rules: Do not install /etc/user-config.jam.
* debian/site-config.jam: New.  Install into /etc instead of empty
  example.  Closes: #493323.

* debian/control: Update homepage.  Update description.  Closes:
  #493510.  Update Standards-Version to 3.8.0; no changes.

* debian/compat: New.  Set compat level to 7.
* debian/rules: Remove DH_COMPAT setting.
* debian/control: Change debhelper build-dep to version >= 7.

* debian/control: Remove docbook-to-man, bison from build-deps.

* debian/rules: Clean up upstream source by removing debian/conffiles.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
The garbage collector looks at a number of environment variables which are
 
2
then used to affect its operation.  These are examined only on Un*x-like
 
3
platforms and win32.
 
4
 
 
5
GC_INITIAL_HEAP_SIZE=<bytes> -  Initial heap size in bytes.  May speed up
 
6
                                process start-up.
 
7
 
 
8
GC_MAXIMUM_HEAP_SIZE=<bytes> - Maximum collected heap size.
 
9
 
 
10
GC_LOOP_ON_ABORT - Causes the collector abort routine to enter a tight loop.
 
11
                   This may make it easier to debug, such a process, especially
 
12
                   for multithreaded platforms that don't produce usable core
 
13
                   files, or if a core file would be too large.  On some
 
14
                   platforms, this also causes SIGSEGV to be caught and
 
15
                   result in an infinite loop in a handler, allowing
 
16
                   similar debugging techniques.
 
17
 
 
18
GC_PRINT_STATS - Turn on GC logging.  Not functional with -DSMALL_CONFIG.
 
19
 
 
20
GC_LOG_FILE - The name of the log file.  Stderr by default.
 
21
 
 
22
GC_PRINT_VERBOSE_STATS - Turn on even more logging.
 
23
 
 
24
GC_DUMP_REGULARLY - Generate a GC debugging dump GC_dump() on startup
 
25
                    and during every collection.  Very verbose.  Useful
 
26
                    if you have a bug to report, but please include only the
 
27
                    last complete dump.
 
28
 
 
29
GC_BACKTRACES=<n> - Generate n random backtraces (for heap profiling) after
 
30
                    each GC.  Collector must have been built with
 
31
                    KEEP_BACK_PTRS.  This won't generate useful output unless
 
32
                    most objects in the heap were allocated through debug
 
33
                    allocators.  This is intended to be only a statistical
 
34
                    sample;  individual traces may be erroneous due to
 
35
                    concurrent heap mutation.
 
36
 
 
37
GC_PRINT_ADDRESS_MAP - Linux only.  Dump /proc/self/maps, i.e. various address
 
38
                       maps for the process, to stderr on every GC.  Useful for
 
39
                       mapping root addresses to source for deciphering leak
 
40
                       reports.
 
41
 
 
42
GC_NPROCS=<n> - Linux w/threads only.  Explicitly sets the number of processors
 
43
                that the GC should expect to use.  Note that setting this to 1
 
44
                when multiple processors are available will preserve
 
45
                correctness, but may lead to really horrible performance,
 
46
                since the lock implementation will immediately yield without
 
47
                first spinning.
 
48
 
 
49
GC_MARKERS=<n> - Linux w/threads and parallel marker only.  Set the number
 
50
                of marker threads.  This is normally set to the number of
 
51
                processors.  It is safer to adjust GC_MARKERS than GC_NPROCS,
 
52
                since GC_MARKERS has no impact on the lock implementation.
 
53
 
 
54
GC_NO_BLACKLIST_WARNING - Prevents the collector from issuing
 
55
                warnings about allocations of very large blocks.
 
56
                Deprecated.  Use GC_LARGE_ALLOC_WARN_INTERVAL instead.
 
57
 
 
58
GC_LARGE_ALLOC_WARN_INTERVAL=<n> - Print every nth warning about very large
 
59
                block allocations, starting with the nth one.  Small values
 
60
                of n are generally benign, in that a bounded number of
 
61
                such warnings generally indicate at most a bounded leak.
 
62
                For best results it should be set at 1 during testing.
 
63
                Default is 5.  Very large numbers effectively disable the
 
64
                warning.
 
65
 
 
66
GC_IGNORE_GCJ_INFO - Ignore the type descriptors implicitly supplied by
 
67
                     GC_gcj_malloc and friends.  This is useful for debugging
 
68
                     descriptor generation problems, and possibly for
 
69
                     temporarily working around such problems.  It forces a
 
70
                     fully conservative scan of all heap objects except
 
71
                     those known to be pointerfree, and may thus have other
 
72
                     adverse effects.
 
73
 
 
74
GC_PRINT_BACK_HEIGHT - Print max length of chain through unreachable objects
 
75
                     ending in a reachable one.  If this number remains
 
76
                     bounded, then the program is "GC robust".  This ensures
 
77
                     that a fixed number of misidentified pointers can only
 
78
                     result in a bounded space leak.  This currently only
 
79
                     works if debugging allocation is used throughout.
 
80
                     It increases GC space and time requirements appreciably.
 
81
                     This feature is still somewhat experimental, and requires
 
82
                     that the collector have been built with MAKE_BACK_GRAPH
 
83
                     defined.  For details, see Boehm, "Bounding Space Usage
 
84
                     of Conservative Garbage Collectors", POPL 2001, or
 
85
                     http://lib.hpl.hp.com/techpubs/2001/HPL-2001-251.html .
 
86
 
 
87
GC_RETRY_SIGNALS, GC_NO_RETRY_SIGNALS - Try to compensate for lost
 
88
                     thread suspend signals in linux_threads.c.  On by
 
89
                     default for GC_OSF1_THREADS, off otherwise.  Note 
 
90
                     that this does not work around a possible loss of
 
91
                     thread restart signals.  This seems to be necessary for
 
92
                     some versions of Tru64.  Since we've previously seen
 
93
                     similar issues on some other operating systems, it
 
94
                     was turned into a runtime flag to enable last-minute
 
95
                     work-arounds.
 
96
 
 
97
The following turn on runtime flags that are also program settable.  Checked
 
98
only during initialization.  We expect that they will usually be set through
 
99
other means, but this may help with debugging and testing:
 
100
 
 
101
GC_ENABLE_INCREMENTAL - Turn on incremental collection at startup.  Note that,
 
102
                     depending on platform and collector configuration, this
 
103
                     may involve write protecting pieces of the heap to
 
104
                     track modifications.  These pieces may include pointerfree
 
105
                     objects or not.  Although this is intended to be
 
106
                     transparent, it may cause unintended system call failures.
 
107
                     Use with caution.
 
108
 
 
109
GC_PAUSE_TIME_TARGET - Set the desired garbage collector pause time in msecs.
 
110
                     This only has an effect if incremental collection is
 
111
                     enabled.  If a collection requires appreciably more time
 
112
                     than this, the client will be restarted, and the collector
 
113
                     will need to do additional work to compensate.  The
 
114
                     special value "999999" indicates that pause time is
 
115
                     unlimited, and the incremental collector will behave
 
116
                     completely like a simple generational collector.  If
 
117
                     the collector is configured for parallel marking, and
 
118
                     run on a multiprocessor, incremental collection should
 
119
                     only be used with unlimited pause time.
 
120
 
 
121
GC_FIND_LEAK - Turns on GC_find_leak and thus leak detection.  Forces a
 
122
               collection at program termination to detect leaks that would
 
123
               otherwise occur after the last GC.
 
124
 
 
125
GC_ALL_INTERIOR_POINTERS - Turns on GC_all_interior_pointers and thus interior
 
126
                           pointer recognition.
 
127
 
 
128
GC_DONT_GC - Turns off garbage collection.  Use cautiously.
 
129
 
 
130
GC_TRACE=addr - Intended for collector debugging.  Requires that the collector
 
131
                have been built with ENABLE_TRACE defined.  Causes the debugger
 
132
                to log information about the tracing of address ranges containing
 
133
                addr.  Typically addr is the address that contains a pointer to
 
134
                an object that mysteriously failed to get marked.  Addr must be
 
135
                specified as a hexadecimal integer.