[System] Port System.Net.Mime namespace from referencesources
[mono.git] / man / mono.1
index f4743a7fac69016fe71d954beafe9500ad2c21de..b92c29473fa6d8a8a2b1c6f1d28c60e72b2232f9 100644 (file)
@@ -317,6 +317,13 @@ Currently this merely ensures that you are running either the
 \fBMONO_ENV_OPTIONS\fR environment variable to force all of your child
 processes to use one particular kind of GC with the Mono runtime.
 .TP
+\fB--arch=32\fR, \fB--arch=64\fR
+(Mac OS X only): Selects the bitness of the Mono binary used, if
+available. If the binary used is already for the selected bitness, nothing
+changes. If not, the execution switches to a binary with the selected
+bitness suffix installed side by side (for example, '/bin/mono --arch=64'
+will switch to '/bin/mono64' iff '/bin/mono' is a 32-bit build).
+.TP
 \fB--help\fR, \fB-h\fR
 Displays usage instructions.
 .TP
@@ -924,7 +931,12 @@ by setting the option
 Turns off the garbage collection in Mono.  This should be only used
 for debugging purposes
 .TP
-\fBLVM_COUNT\fR
+\fBHTTP_PROXY\fR
+(Also \fBhttp_proxy\fR) If set, web requests using the Mono
+Class Library will be automatically proxied through the given URL.
+Not supported on Windows, Mac OS, iOS or Android. See also \fBNO_PROXY\fR.
+.TP
+\fBLLVM_COUNT\fR
 When Mono is compiled with LLVM support, this instructs the runtime to
 stop using LLVM after the specified number of methods are JITed.
 This is a tool used in diagnostics to help isolate problems in the
@@ -992,7 +1004,12 @@ where V is the architecture number 4, 5, 6, 7 and the options can be currently b
 .TP
 \fBMONO_ARM_FORCE_SOFT_FLOAT\fR
 When Mono is built with a soft float fallback on ARM and this variable is set to
-"1", Mono will always emit soft float code, even if a VFP unit is detected.
+"1", Mono will always emit soft float code, even if a VFP unit is
+detected.
+.TP
+\fBMONO_DARWIN_WATCHER_MAXFDS\fR
+This is a debugging aid used to force limits on the FileSystemWatcher
+implementation in Darwin.   There is no limit by default.
 .TP
 \fBMONO_DISABLE_AIO\fR
 If set, tells mono NOT to attempt using native asynchronous I/O services. In
@@ -1036,6 +1053,20 @@ For platforms that do not otherwise have a way of obtaining random bytes
 this can be set to the name of a file system socket on which an egd or
 prngd daemon is listening.
 .TP
+\fBMONO_ENABLE_COOP\fR
+This makes the Mono runtime and the SGen garbage collector run in cooperative
+mode as opposed to run on preemptive mode.   Preemptive mode is the mode
+that Mono has used historically, going back to the Boehm days, where the
+garbage collector would run at any point and suspend execution of all 
+threads as required to perform a garbage collection.  The cooperative mode
+on the other hand requires the cooperation of all threads to stop at a 
+safe point.   This makes for an easier to debug garbage collector.   As
+of Mono 4.3.0 it is a work in progress, and while it works, it has not
+been used extensively.   This option enabled the feature and allows us to
+find spots that need to be tuned for this mode of operation.   Alternatively,
+this mode can be enabled at compile time by using the --with-cooperative-gc
+flag when calling configure.
+.TP
 \fBMONO_ENABLE_SHM\fR
 Unix only: Enable support for cross-process handles.  Cross-process
 handles are used to expose process handles, thread handles, named
@@ -1113,6 +1144,16 @@ separated list of words.
 .RS
 .ne 8
 .TP
+\fBmax-heap-size=\fIsize\fR
+Sets the maximum size of the heap. The size is specified in bytes and must
+be a power of two. The suffixes `k', `m' and `g' can be used to
+specify kilo-, mega- and gigabytes, respectively. The limit is the sum
+of the nursery, major heap and large object heap. Once the limit is reached
+the application will receive OutOfMemoryExceptions when trying to allocate.
+Not the full extent of memory set in max-heap-size could be available to
+satisfy a single allocation due to internal fragmentation. By default heap
+limits is disabled and the GC will try to use all available memory.
+.TP
 \fBnursery-size=\fIsize\fR
 Sets the size of the nursery.  The size is specified in bytes and must
 be a power of two.  The suffixes `k', `m' and `g' can be used to
@@ -1206,6 +1247,12 @@ Valid values are integers between 1 and 14. Default is 2.
 Enables or disables cementing.  This can dramatically shorten nursery
 collection times on some benchmarks where pinned objects are referred
 to from the major heap.
+.TP
+\fBallow-synchronous-major\fR
+This forbids the major collector from performing synchronous major collections.
+The major collector might want to do a synchronous collection due to excessive
+fragmentation. Disabling this might trigger OutOfMemory error in situations that
+would otherwise not happen.
 .ne
 .RE
 .TP
@@ -1318,12 +1365,13 @@ word, which is checked on each minor collection. Can be used to detect/debug
 heap corruption issues.
 
 .TP
-\fBdo-not-finalize\fR
+\fBdo-not-finalize(=\fIclasses\fB)\fR
 If enabled, finalizers will not be run.  Everything else will be
 unaffected: finalizable objects will still be put into the
 finalization queue where they survive until they're scheduled to
 finalize.  Once they're not in the queue anymore they will be
-collected regularly.
+collected regularly.  If a list of comma-separated class names is
+given, only objects from those classes will not be finalized.
 
 .TP
 \fBlog-finalizers\fR
@@ -1509,6 +1557,13 @@ ftps, smtps...).  The default is 'nocheck', which performs no revocation check
 at all. The other possible values are 'offline', which performs CRL check (not
 implemented yet) and 'online' which uses OCSP and CRL to verify the revocation
 status (not implemented yet).
+.TP
+\fBNO_PROXY\fR
+(Also \fBno_proxy\fR) If both \fBHTTP_PROXY\fR and \fBNO_PROXY\fR are
+set, \fBNO_PROXY\fR will be treated as a comma-separated list of "bypass" domains
+which will not be sent through the proxy. Domains in \fBNO_PROXY\fR may contain
+wildcards, as in "*.mono-project.com" or "build????.local". Not supported on
+Windows, Mac OS, iOS or Android.
 .SH ENVIRONMENT VARIABLES FOR DEBUGGING
 .TP
 \fBMONO_ASPNET_NODELETE\fR
@@ -1713,34 +1768,6 @@ as it forces all of the commands send to X11 server to be done
 synchronously.   The default mode of operation is asynchronous which
 makes it hard to isolate the root of certain problems.
 .TP
-\fBMONO_GENERIC_SHARING\fR
-This environment variable controls the kind of generic sharing used.
-This variable is used by internal JIT developers and should not be
-changed in production.  Do not use it.
-.Sp
-The variable controls which classes will have generic code sharing
-enabled.
-.Sp
-Permissible values are:
-.RS
-.TP 
-.I "all" 
-All generated code can be shared. 
-.TP
-.I "collections" 
-Only the classes in System.Collections.Generic will have its code
-shared (this is the default value).
-.TP
-.I "corlib"
-Only code in corlib will have its code shared.
-.TP
-.I "none"
-No generic code sharing will be performed.
-.RE
-.Sp
-Generic code sharing by default only applies to collections.   The
-Mono JIT by default turns this on.
-.TP
 \fBMONO_XDEBUG\fR
 When the the MONO_XDEBUG env var is set, debugging info for JITted
 code is emitted into a shared library, loadable into gdb. This enables,