在 Haskell 程序中,如何监控程序本身的CPU和内存使用情况?
在我的程序中,由于用户没有提出任何请求,可能会有空闲时间
那时,我希望evaluate
统计数据来触发GC
但是,我希望记录统计信息不是静态方法,而是 lazy 方法。
所以,我想设计程序可以监视自己,找到evaluate
的相对空闲时间。
我搜索了关于{monitoring,cpu,memory}库的web和Hackage,但我只能找到总CPU和内存使用情况,而不是程序本身。
是否存在我跳过的监控库? 或者我必须自己做点什么? 如果我必须自己做,我应该学习什么?它适用于Windows,Linux和OS X.
currentBytesUsed
中的 GHC.Stats
给出了记忆用法。谢谢danidiaz。
我仍然发现监控CPU使用情况。
P.S。我不想描述它。我已经做过很多次了....
答案 0 :(得分:1)
我不知道分析是否足够您,或者您是否需要实时监控,但是haskell docs中描述了很多分析可能性https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/profiling.html
还有远程监控