Mono 运行时的单用户可读GC统计信息

Mono 运行时的单用户可读GC统计信息,mono,garbage-collection,profiling,Mono,Garbage Collection,Profiling,是否有类似于Java-Xloggc的Mono分析器模式 我希望在应用程序运行时看到可读的GC报告。目前,Mono可以使用--profile=log选项运行,但输出是二进制格式的,每次我需要运行mprof report来读取它时。输出文件还包含很多我不感兴趣的信息 我试图通过指定heapshot=14400000ms来减少文件大小,以便每隔几个小时收集一次统计数据,但没有多大帮助。在一个星期内,我有几GB的日志 我还尝试使用“示例”探查器,但开销太大。您可以使用Mono的。只需将MONO\u LO

是否有类似于Java-Xloggc的Mono分析器模式

我希望在应用程序运行时看到可读的GC报告。目前,Mono可以使用--profile=log选项运行,但输出是二进制格式的,每次我需要运行mprof report来读取它时。输出文件还包含很多我不感兴趣的信息

我试图通过指定heapshot=14400000ms来减少文件大小,以便每隔几个小时收集一次统计数据,但没有多大帮助。在一个星期内,我有几GB的日志

我还尝试使用“示例”探查器,但开销太大。

您可以使用Mono的。只需将
MONO\u LOG\u掩码设置为
gc
,并降低
MONO\u LOG\u级别
。然后正常运行您的应用程序,您将在应用程序运行时获得可读的GC统计信息:

$ export MONO_LOG_MASK=gc
$ export MONO_LOG_LEVEL=debug
$ mono ... # run your application normally ..
...
# notice the human readable GC output
mono: GC_MAJOR: (LOS overflow) pause 26.00ms, total 26.06ms, bridge 0.00ms major 31472K/0K los 1575K/0K
Mono: GC_MINOR: (Nursery full) pause 2.30ms, total 2.35ms, bridge 0.00ms promoted 31456K major 31456K los 5135K
Mono: GC_MINOR: (Nursery full) pause 2.43ms, total 2.45ms, bridge 0.00ms promoted 31456K major 31456K los 8097K
Mono: GC_MINOR: (Nursery full) pause 1.80ms, total 1.82ms, bridge 0.00ms promoted 31472K major 31472K los 11425K