【问题标题】:Limiting GHC's memory usage限制 GHC 的内存使用
【发布时间】:2017-05-12 06:44:00
【问题描述】:

有没有办法在编译期间限制 ghc 的内存使用,而不影响代码质量?我在一台 2GB 的机器上,它在构建过程中确实停止了。 GHC 版本 7.10.3,Ubuntu 14.04,4GB 交换。

【问题讨论】:

    标签: haskell ghc


    【解决方案1】:

    一种方法是使用有内存限制的容器。我目前正在测试这个理论,它有效,但你会有一个主要的缺点,因为你为内存设置的限制会导致 GHC 只分配交换空间。这需要很长时间。

    看看this solution 也可能是个好主意。我在引用:

    -j 只是告诉 GHC 跨模块并行编译。这个可以 增加编译器所需的最大堆大小。

    -A 设置托儿所大小;首先订购不影响 最大堆大小,但在并行运行时很有帮助 程序(例如带有 -j 的 ghc)来最小化我们使用的频率 必须垃圾收集。

    -M 有点难以定义。一方面,它定义了最大堆 超出我们将终止的大小。但是,我们也使用它 垃圾收集器对 GC 调度做出各种决定。生病 承认我对这里的细节不是很熟悉。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-28
      • 2011-03-27
      • 1970-01-01
      • 2011-09-07
      • 2021-05-12
      • 2014-04-27
      • 2011-03-15
      • 1970-01-01
      相关资源
      最近更新 更多