如何在Haskell程序中监视cpu和内存使用情况

时间:2015-11-17 20:40:36

标签: haskell memory-management monitoring cpu-usage

Haskell 程序中,如何监控程序本身的CPU和内存使用情况?

在我的程序中,由于用户没有提出任何请求,可能会有空闲时间 那时,我希望evaluate统计数据来触发GC 但是,我希望记录统计信息不是静态方法,而是 lazy 方法。
所以,我想设计程序可以监视自己,找到evaluate的相对空闲时间。

我搜索了关于{monitoring,cpu,memory}库的web和Hackage,但我只能找到总CPU和内存使用情况,而不是程序本身。

是否存在我跳过的监控库? 或者我必须自己做点什么? 如果我必须自己做,我应该学习什么?它适用于Windows,Linux和OS X.

更新

currentBytesUsed中的

GHC.Stats给出了记忆用法。谢谢danidiaz。 我仍然发现监控CPU使用情况。

P.S。我不想描述它。我已经做过很多次了....

1 个答案:

答案 0 :(得分:1)

我不知道分析是否足够您,或者您是否需要实时监控,但是haskell docs中描述了很多分析可能性https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/profiling.html

还有远程监控

https://hackage.haskell.org/package/ekg