【问题标题】:Checking memory and CPU usage in Haskell program itself检查 Haskell 程序本身的内存和 CPU 使用情况
【发布时间】:2016-09-26 21:06:10
【问题描述】:

我尝试在 Haskell 中创建一些数据库,并且我想找到一种方法来检查程序中的内存和 CPU 使用情况。

我尝试使用 “haskell 内存使用情况”“haskell 内存检查”“haskell CPU 使用情况” 等关键字进行搜索。 ..,但没有我想要的答案(内存和 CPU 检查haskell 程序本身)。

是否有可移植的方式在程序运行时获取自身的内存和 CPU 使用率?

请告诉我。

【问题讨论】:

    标签: haskell memory cpu


    【解决方案1】:

    使用SNMP 怎么样?

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

    您可能会在 Internet 上找到很多关于使用 SNMP 进行进程监控的有用信息/教程/示例(如果您不熟悉),一旦您了解了它们,就可以使用 Haskell 来实现您所需要的这些包应该是直截了当的。另外,我发现了这个related question

    【讨论】:

    • 感谢您的新方法!我会检查那些包裹!
    【解决方案2】:

    您的第一个查询短语已经为我提供了很多我建议您关注的链接:

    长期申请中的更多信息-看一下ekg作者的hackage: ekgblog ocharles: about ekgarticle

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

    【讨论】:

    • 我确实不想进行分析。我想检查程序本身中的内存使用情况,以获取程序命令。 GHC.Stats 是特定于 GHC 的,因此它不可移植。我再次说,'我尝试搜索,但找不到我想要的'。
    • 好吧,GHC 是最成熟且功能最齐全的编译器,但你说得对,GHC 只是 haskell 的一种实现——如果你想读取当前 cpu/ram/disk 的读数,这将是我猜是特定于操作系统的 - 但除了我给出的答案之外,我不知道任何可以完成这项工作的库
    猜你喜欢
    • 2016-02-19
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多