在Haskell程序中检查内存和CPU使用情况

3
我尝试在Haskell中创建一些DB,并希望找到一种方法来检查程序的内存和CPU使用情况。 我尝试使用关键字搜索,如“haskell memory usage”或“haskell memory checking”,“haskell CPU usage”等,但没有我想要的答案(在Haskell程序本身中检查内存和CPU)。 是否有便携式的方法可以在程序运行时获取自身的内存和CPU使用情况? 请告诉我。
2个回答

3

那么使用SNMP怎么样?

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

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


谢谢你的新方法!我会检查那些软件包! - Junyoung Clare Jang

0

你的第一个查询短语已经给了我很多链接,我建议你去查看:

关于长时间应用程序的更多信息 - 可以看看 hackage: ekg, blog ocharles: about ekg, 以及 ekg 作者的 article

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


我不想进行性能分析。我想要检查程序本身的内存使用情况,以便于程序命令。 GHC.Stats 是 GHC 特定的,因此它不具备可移植性。再次强调,我尝试搜索但找不到我想要的内容。 - Junyoung Clare Jang
好的,GHC是最成熟和功能完整的编译器,但你说得对,GHC只是Haskell的一个实现 - 如果你想获取当前CPU / RAM / 磁盘的读数,我猜这将是特定于操作系统的 - 除了我给出的答案之外,我没有任何关于执行该任务的库的知识。 - epsilonhalbe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接