检查haskell中的内存使用情况

时间:2014-09-25 09:48:44

标签: haskell caching memory memory-management resources

我正在创建一个实现某种缓存的程序。我需要尽可能多地使用内存,为此我需要做两件事:

  1. 检查系统中仍有多少内存(仅限RAM,而不是SWAP)
  2. 检查我的应用已经使用了多少内存。
  3. 我需要一个独立于平台的解决方案(Linux,Windows等)。

    使用这两条信息,我将减少缓存的大小或放大缓存。 如何在Haskell中获取此信息?有没有可以提供这些信息的软件包?

1 个答案:

答案 0 :(得分:3)

我无法立即看到如何移植。

然而,GHC确实有弱指针&#34;。 (请参阅System.Mem.Weak。)如果您创建项目并通过弱指针(仅限)挂起它们,那么垃圾收集器将在物理内存不足时自动开始删除项目。< / p>

(不幸的是,这并不能让你决定首先要删除哪些项目 - 例如,那些最便宜重新创建的项目或那些最少使用的项目或者东西。)