gpt4 book ai didi

memory - R 的 GC 和内存限制问题

转载 作者:行者123 更新时间:2023-12-02 09:50:54 25 4
gpt4 key购买 nike

我在一些相对较大的数据上使用 R,并且遇到了一些内存问题。这是在 Linux 上。我的数据明显少于系统上的可用内存,因此这是管理 transient 分配的问题。

当我运行 gc() 时,我得到以下列表

           used   (Mb) gc trigger   (Mb)  max used   (Mb)
Ncells 2147186 114.7 3215540 171.8 2945794 157.4
Vcells 251427223 1918.3 592488509 4520.4 592482377 4520.3

但是 R 似乎在常驻内存中分配了 4GB,在交换区中分配了 2GB。我假设这是操作系统分配的内存,R 的内存管理系统将根据需要进行分配和 GC。然而,假设我不想让 R OS 分配超过 4GB 的空间,以防止交换抖动。我总是可以 ulimit,但这样它就会崩溃,而不是在减少的空间内工作并更频繁地进行 GC。有没有办法为 gc 触发器指定任意最大值并确保 R 永远不会分配更多内存?或者我可以采取其他措施来管理内存使用情况?

最佳答案

简而言之:不。我发现您根本无法对内存管理和 gc() 进行微观管理。

另一方面,您可以尝试将数据保存在内存中,但在 R 的“外部”。bigmemory让这变得相当容易。当然,使用 64 位版本的 R 和充足的内存也可能会让问题消失。

关于memory - R 的 GC 和内存限制问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com