我尝试在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将是一个起点