是否有类似于Java -Xloggc的单声道探查器模式?
我希望在我的应用程序运行时看到一个人类可读的GC报告。目前Mono可以使用--profile=log选项运行,但是输出是二进制格式的,每次我都需要运行mprof-report来读取它。输出文件也包含了很多我不感兴趣的信息。
我试图通过指定heapshot=14400000ms每隔几个小时收集一次统计数据来减小文件大小,但效果不是很好。在一周内我有几个千兆字节的日志。
我也尝试过使用“示例”分析器,但是开销太大了。
发布于 2016-04-01 01:40:52
你可以使用Mono的trace filters来做这件事。只需将MONO_LOG_MASK设置为gc并降低MONO_LOG_LEVEL即可。然后正常运行你的应用程序,当你的应用程序运行时,你将获得人类可读的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 11425Khttps://stackoverflow.com/questions/23069596
复制相似问题