【发布时间】:2016-09-26 21:06:10
【问题描述】:
我尝试在 Haskell 中创建一些数据库,并且我想找到一种方法来检查程序中的内存和 CPU 使用情况。
我尝试使用 “haskell 内存使用情况” 或 “haskell 内存检查”、“haskell CPU 使用情况” 等关键字进行搜索。 ..,但没有我想要的答案(内存和 CPU 检查haskell 程序本身)。
是否有可移植的方式在程序运行时获取自身的内存和 CPU 使用率?
请告诉我。
【问题讨论】:
我尝试在 Haskell 中创建一些数据库,并且我想找到一种方法来检查程序中的内存和 CPU 使用情况。
我尝试使用 “haskell 内存使用情况” 或 “haskell 内存检查”、“haskell CPU 使用情况” 等关键字进行搜索。 ..,但没有我想要的答案(内存和 CPU 检查haskell 程序本身)。
是否有可移植的方式在程序运行时获取自身的内存和 CPU 使用率?
请告诉我。
【问题讨论】:
使用SNMP 怎么样?
SNMP 通常用于远程监控设备,但没有什么能阻止您在本地运行代理并从 Haskell 应用程序(线程中的)查询它。这样一来,CPU 和内存使用信息将由单独的应用程序(SNMP 代理)收集,并且您的应用程序会在需要时请求它。为此,您可以使用以下 Haskell 包之一:snmp 或 NetSNMP。
您可能会在 Internet 上找到很多关于使用 SNMP 进行进程监控的有用信息/教程/示例(如果您不熟悉),一旦您了解了它们,就可以使用 Haskell 来实现您所需要的这些包应该是直截了当的。另外,我发现了这个related question。
【讨论】:
您的第一个查询短语已经为我提供了很多我建议您关注的链接:
长期申请中的更多信息-看一下ekg作者的hackage: ekg、blog ocharles: about ekg和article。
如果您想自己实现某些东西,GHC.Stats API 将是一个起点
【讨论】: