Fixed some misplaced testcases
[mono.git] / man / mono.1
index 54436cd9b46b2fe4765cc3f1d6dcdacef5d421d1..19043b32c21e72a0bcf8767e5b745617af324fd1 100644 (file)
@@ -1,6 +1,7 @@
 .\" 
 .\" mono manual page.
 .\" (C) 2003 Ximian, Inc. 
+.\" (C) 2004-2005 Novell, Inc. 
 .\" Author:
 .\"   Miguel de Icaza (miguel@gnu.org)
 .\"
@@ -355,20 +356,27 @@ environment variable.
 .TP
 .I "MONO_DEBUG"
 If set, enables some features of the runtime useful for debugging.
-It makes the runtime display the stack traces for all the threads
-running and exit when mono is interrupted (Ctrl-C) and print some
-additional messages on error conditions. It may not exit cleanly. Use at
-your own risk.
+Currently this enables two features: stack traces when interrupting
+the process from the shell;  Visible error messages on assembly
+loading and also to track problems with delegates that are released,
+but a reference is kept in unmanaged code.
+.TP
+The stack tracing option makes the runtime display the stack traces
+for all the threads running and exit when mono is interrupted (Ctrl-C)
+and print some additional messages on error conditions. It may not
+exit cleanly. Use at your own risk.
+.TP
+Also, this option will leak delegate trampolines that are no longer
+referenced as to present the user with more information about a
+delegate missuse.  Basically a delegate instance might be created,
+passed to unmanaged code, and no references kept in managed code,
+which will garbage collect the code.  With this option it is possible
+to track down the source of the problems. 
 .TP
 .I "MONO_DISABLE_AIO"
 If set, tells mono NOT to attempt using native asynchronous I/O services. In
-that case, the threadpool is used for asynchronous I/O on files and sockets.
-.TP
-.I "MONO_DISABLE_SHM"
-If this variable is set, it disables the shared memory part of the
-Windows I/O Emulation layer, and handles (files, events, mutexes,
-pipes) will not be shared across processes.  Process creation is also
-disabled.  This option is only available on Unix.
+that case, a default select/poll implementation is used. Currently only epoll()
+is supported.
 .TP
 .I "MONO_EGD_SOCKET"
 For platforms that do not otherwise have a way of obtaining random bytes
@@ -425,12 +433,19 @@ Directories are separated by the platform path separator (colons on unix). Examp
 Experimental RTC support in the statistical profiler: if the user has
 the permission, more accurate statistics are gathered.  The MONO_RTC
 value must be restricted to what the linux rtc allows: power of two
-from 64 to 8192 Hz.
+from 64 to 8192 Hz. To enable higher frequencies like 4096 Hz, run as root:
+.nf
+       echo 4096 > /proc/sys/dev/rtc/max-user-freq
+.fi
 .Sp
 For example:
 .nf
        MONO_RTC=4096 mono --profiler=default:stat program.exe
 .fi
+.TP
+.I "MONO_NO_TLS"
+Disable inlining of thread local accesses. Try setting this if you get a segfault
+early on in the execution of mono.
 .TP 
 .I "MONO_SHARED_DIR"
 If set its the directory where the ".wapi" handle state is stored.
@@ -439,8 +454,9 @@ shared state data (files, events, mutexes, pipes).  By default Mono
 will store the ".wapi" directory in the users's home directory.
 .TP
 .I "MONO_THREADS_PER_CPU"
-Sets the maximum number of threads in the threadpool per CPU. The default is
-50 for non-windows systems and 25 for windows.
+The maximum number of threads in the general threadpool will be
+20 + (MONO_THREADS_PER_CPU * number of CPUs). The default value for this
+variable is 5.
 .TP
 .I "MONO_TRACE"
 If set, enables the System.Diagnostics.DefaultTraceListener, which will