【发布时间】:2022-01-03 01:32:46
【问题描述】:
我使用bigmemory 包将一个非常大的矩阵放入共享内存中(请参阅下面的脚本,以便其他 R 会话中的脚本可以并行访问它。
我现在想以非交互方式执行脚本。问题是,如果我使用Rscript 运行它,矩阵会在Rscript 进程结束后立即从共享内存中删除。我可以在脚本末尾添加Sys.sleep(99999),但我想知道是否有更好的方法来完成这个。有什么想法吗?
library(bigmemory)
m = read.big.matrix("matrix.txt", type='double', shared = TRUE, header = FALSE, sep = "\t")
sign = describe(m)
dput(sign, "matrix.signature")
【问题讨论】:
-
我不确定您所说的“脚本执行后保留在共享内存中”的确切含义。以及“在脚本执行后保持会话活动”。
-
@F.Privé :你现在能更好地理解它吗?
-
当您说要保留共享内存时,是不是因为您想使用这些数据运行许多脚本,而不必每次都将数据映射到磁盘上?
-
我不确定您所说的“每次都在磁盘上映射数据”是什么意思,但是是的,我想使用在单独的 R 会话中运行的脚本访问共享内存中的数据。跨度>
标签: r shared-memory r-bigmemory