检查Haskell程序本身中的内存和CPU使用率



我尝试在Haskell中制作一些DB,我想找到一种方法来检查程序中的内存和CPU使用率。

我尝试使用诸如"Haskell内存使用情况"

"Haskell内存检查","HaskellCPU使用情况"等关键字进行搜索,但是没有我想要的答案(haskell程序本身中的内存和CPU检查)。

在程序运行时,是否有便携式方法可以获取内存和CPU使用情况?

请让我知道。

为此使用 SNMP 怎么样?

SNMP 通常用于远程监控设备,但没有什么能阻止您在本地运行代理并从 Haskell 应用程序中(线程)查询它。这样,CPU 和内存使用情况信息将由单独的应用程序(SNMP 代理)收集,并且您的应用程序将在需要时请求它。为此,您可以使用以下Haskell软件包之一:snmp或NetSNMP。

您可能会在互联网上找到许多有关使用SNMP进行过程监控的有用信息/教程/示例(如果您不熟悉它),一旦您理解了它们,使用这些软件包在Haskell中实现您需要的东西应该很简单。另外,我发现了这个相关的问题。

您的第一个查询短语已经为我提供了许多我建议遵循的链接:

  • 真实世界的 Haskell:分析和优化详细介绍了如何获取应用程序的运行时信息。
  • 下一页 @donstewart的答案 堆栈溢出:用于分析哈斯克尔程序性能的工具

有关长期应用程序的更多信息 - 请查看hackage:ekg,博客ocharles:关于ekg,以及ekg作者的文章。

如果你想自己实现一些东西,GHC.Stats API将是一个起点

最新更新