Merge pull request #601 from knocte/sock_improvements
[mono.git] / man / mono.1
index 1c4cbf31f92f3971c0798fcc37823744ca7fc46e..318c0586d0fe9d191e229d31ac4aedb30824bfcb 100644 (file)
@@ -144,6 +144,12 @@ Defaults to 128.
 .I nodebug
 Instructs the AOT compiler to not output any debugging information.
 .TP
+.I dwarfdebug
+Instructs the AOT compiler to emit DWARF debugging information. When
+used together with the nodebug option, only DWARF debugging
+information is emitted, but not the information that can be used at
+runtime.
+.TP
 .I nrgctx-trampolines=[number]
 When compiling in full aot mode, the generic sharing trampolines must be precreated
 in the AOT image.  You can add additional method trampolines with this argument.
@@ -946,6 +952,12 @@ This is can also be enabled by default by passing the
 .Sp
 This is the default from mono 2.8 onwards.
 .TP
+\fBMONO_DISABLE_SHARED_AREA\fR
+Unix only: If set, disable usage of shared memory for exposing
+performance counters. This means it will not be possible to both
+externally read performance counters from this processes or read
+those of external processes.
+.TP
 \fBMONO_DNS\fR
 When set, enables the use of a fully managed DNS resolver instead of the
 regular libc functions. This resolver performs much better when multiple
@@ -1045,11 +1057,10 @@ program but will obviously use more memory.  The default nursery size
 .TP
 \fBmajor=\fIcollector\fR
 Specifies which major collector to use.  Options are `marksweep' for
-the Mark&Sweep collector, `marksweep-par' for parallel Mark&Sweep,
-`marksweep-fixed' for Mark&Sweep with a fixed heap,
-`marksweep-fixed-par' for parallel Mark&Sweep with a fixed heap and
-`copying' for the copying collector. The Mark&Sweep collector is the
-default.
+the Mark&Sweep collector, `marksweep-conc' for concurrent Mark&Sweep,
+`marksweep-par' for parallel Mark&Sweep, `marksweep-fixed' for
+Mark&Sweep with a fixed heap, and `marksweep-fixed-par' for parallel
+Mark&Sweep with a fixed heap. The Mark&Sweep collector is the default.
 .TP
 \fBmajor-heap-size=\fIsize\fR
 Sets the size of the major heap (not including the large object space)
@@ -1063,15 +1074,6 @@ Once the heap size gets larger than this size, ignore what the default
 major collection trigger metric says and only allow four nursery size's
 of major heap growth between major collections.
 .TP
-\fBwbarrier=\fIwbarrier\fR
-Specifies which write barrier to use.  Options are `cardtable' and
-`remset'.  The card table barrier is faster but less precise, and only
-supported for the Mark&Sweep major collector on 32 bit platforms.  The
-default is `cardtable' if it is supported, otherwise `remset'. The cardtable
-write barrier is faster and has a more stable and usually smaller
-memory footprint. If the program causes too much pinning during
-thread scan, it might be faster to enable remset.
-.TP
 \fBevacuation-threshold=\fIthreshold\fR
 Sets the evacuation threshold in percent.  This option is only available
 on the Mark&Sweep major collectors.  The value must be an
@@ -1081,11 +1083,11 @@ less than this percentage, it will do a copying collection for that block
 type in the next major collection, thereby restoring occupancy to close
 to 100 percent.  A value of 0 turns evacuation off.
 .TP
-\fB(no-)concurrent-sweep\fR
-Enables or disables concurrent sweep for the Mark&Sweep collector.  If
-enabled, the sweep phase of the garbage collection is done in a thread
-concurrently with the application.  Concurrent sweep is disabled by
-default.
+\fB(no-)lazy-sweep\fR
+Enables or disables lazy sweep for the Mark&Sweep collector.  If
+enabled, the sweep phase of the garbage collection is done piecemeal
+whenever the need arises, typically during nursery collections.  Lazy
+sweeping is enabled by default.
 .TP
 \fBstack-mark=\fImark-mode\fR
 Specifies how application threads should be scanned. Options are
@@ -1135,6 +1137,11 @@ Specifies the required age of an object must reach inside the nursery before
 been promoted to the old generation. This only can only be used with the
 split minor collector.
 Valid values are integers between 1 and 14. Default is 2.
+.TP
+\fB(no-)cementing\fR
+Enables or disables cementing.  This can dramatically shorten nursery
+collection times on some benchmarks where pinned objects are referred
+to from the major heap.
 .ne
 .RE
 .TP
@@ -1169,6 +1176,22 @@ are allocated (clear-at-gc).   The consistency check ensures that
 there are no major to minor references that are not on the remembered
 sets. 
 .TP
+\fBmod-union-consistency-check\fR
+Checks that the mod-union cardtable is consistent before each
+finishing major collection pause.  This check is only applicable to
+concurrent major collectors.
+.TP
+\fBcheck-mark-bits\fR
+Checks that mark bits in the major heap are consistent at the end of
+each major collection.  Consistent mark bits mean that if an object is
+marked, all objects that it had references to must also be marked.
+.TP
+\fBcheck-nursery-pinned\fR
+After nursery collections, and before starting concurrent collections,
+check whether all nursery objects are pinned, or not pinned -
+depending on context.  Does nothing when the split nursery collector
+is used.
+.TP
 \fBxdomain-checks\fR
 Performs a check to make sure that no references are left to an
 unloaded AppDomain.