限制GHC的内存使用量

问题描述 投票:4回答:1

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

haskell ghc
1个回答
0
投票

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

看一下this solution也许是一个好主意。我在引用:

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

-A设定托儿所的大小;第一顺序不影响最大堆大小,而是在运行并行程序(例如ghc with -j)时很有用,以最小化我们必须进行垃圾收集的频率。

-M定义有点棘手。首先,它定义了我们将终止的最大堆大小。但是,我们也在垃圾收集器中使用它来做出关于GC调度的各种决定。我承认我对这里的细节并不十分熟悉。

© www.soinside.com 2019 - 2024. All rights reserved.