在我的R
代码中,我使用了MixedModels Julia
包。
我使用Julia
包将R
集成到JuliaCall
中。
我使用非常大的数据集(~1 GB
,~4x10^6
观测值),在建模步骤(mixed models
)上分配了很多RAM(~80 GB
),其中大部分计算结束后不返回系统。
在Julia
环境中获取建模结果后,如何从R
下关闭与Julia
的连接(或者可能关闭R
)?同时, R会话不应中断,因为计算混合模型后,其他功能应在管道中执行。
此操作可以帮助释放一定数量的内存到系统(我在纯Julia上运行代码,并且在Julia退出后将大约70 GB返回到OS。当我在R上运行代码时,经过管道计算后,Julia占用的RAM不会返回到OS完成)
(平台:x86_64-pc-linux-gnu
)。
答案 0 :(得分:0)
如果从R调用Julia代码作为函数,则可以将已计算的参数的元组返回给R,而无需数据。如果是这样,那么在从Julia返回之前,您可以将对数据的所有引用以及其他大内存引用变量设置为0,然后收集垃圾。如果
a = rand(1000, 1000, 100)
a = 0 # destroy reference since Julia reference counts
然后手动调用垃圾收集器:
GC.gc()
这假设您不再需要Julia变量引用的内部数据,这可能是您想要的只是模型的参数。