【发布时间】:2015-05-11 05:51:54
【问题描述】:
我认为让服务器自行报告其内存使用情况会很方便。
我已经阅读了手册中关于memory profiling 的部分,但是这样做有一些缺点:
- 首先,这似乎只提供验尸统计数据。
- 启用分析会产生开销。
- 我真的不需要那么多细节。
这就是我的问题,如何在 GHC 编译的运行程序中跟踪不同的内存集?
【问题讨论】:
我认为让服务器自行报告其内存使用情况会很方便。
我已经阅读了手册中关于memory profiling 的部分,但是这样做有一些缺点:
这就是我的问题,如何在 GHC 编译的运行程序中跟踪不同的内存集?
【问题讨论】:
如果您将ekg 集成到您的服务器中,您可以通过 HTTP 访问关于运行时的漂亮图表和统计信息,甚至您自己的自定义指标:
【讨论】:
GHC 特定模块GHC.Stats 提供了一个函数getGCStats,它返回(在IO 中)各种GC 统计信息:
getGCStats :: IO GCStats检索上次的垃圾收集和内存统计信息 垃圾收集。如果您希望您的统计数据最近 可以,首先运行
performGC。
【讨论】: