我已通过此 source 在我的 CentOS 操作系统上安装了单声道版本 4.2.1.60首先下载 tarball,然后对提取的源文件执行 sudo ./configure
、sudo make
和 sudo make install
。
配置返回这个,我觉得没问题
Engine:
Host: x86_64-unknown-linux-gnu
Target: x86_64-unknown-linux-gnu
GC: sgen and Included Boehm GC with typed GC and parallel mark
TLS: __thread
SIGALTSTACK: yes
Engine: Building and using the JIT
oprofile: no
BigArrays: no
DTrace: no
LLVM Back End: no (dynamically loaded: no)
Mono 本身在主要收集器 marksweep 中运行良好。
但现在我想用 SGen 垃圾收集器运行单声道,它是主要收集器 marksweep-par 进行一些测试。这就是我根据这个做的 description :
export MONO_GC_PARAMS=major=marksweep-par
mono-sgen testApp.exe
不幸的是单声道以这个警告开始
Warning: In environment variable 'MONO_GC_PARAMS': Unknown major collector 'marksweep-par'. - Using 'marksweep' instead.
当然这不是我想要的。谷歌在寻找这个警告时没有回复我。现在我的问题是,如何让单声道与 marksweep-par 一起运行。
我做错了什么?感谢您的帮助。
最佳答案
当您运行 4.2+ 时,您指的是一个旧的 手册页 (Mono 2.5)。
您应该查看系统上安装的手册页:
单声道
major=collector
Specifies which major collector to use. Options are
marksweep
for the Mark&Sweep collector, andmarksweep-conc
for concurrent Mark&Sweep. The non-concurrent Mark&Sweep collector is the default.
关于c# - 使用 mono 的 marksweep-par 垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36035710/