Haskell/GHC能否自行报告其GC统计数据?

dsi*_*ign 9 haskell ghc

我认为让服务器自我报告其内存使用情况会很方便.

我已经阅读了手册中关于内存分析的部分,但是有一些缺点:

  • 首先,这似乎只给出了验尸统计数据.
  • 启用性能分析会产生开销.
  • 我真的不需要那么多细节.

这就是我的问题,如何在GHC编译的正在运行的程序中跟踪不同的内存集?

Joa*_*ner 10

如果将ekg集成到服务器中,您可以通过HTTP访问有关运行时的精美图表和统计信息,甚至是您自己的自定义指标:

在此输入图像描述

(图片链接自Oliver Charles在ekg上的博文)


Cac*_*tus 8

GHC特定模块GHC.Stats提供了一个getGCStats返回(in IO)各种GC统计信息的函数:

getGCStats :: IO GCStats
Run Code Online (Sandbox Code Playgroud)

检索上次垃圾回收中的垃圾收集和内存统计信息.如果您希望尽可能获得最新统计信息,请先运行a performGC.