我有一个R脚本,当我在一个循环中运行它时,它会在一个可变的迭代次数后保持不变。没有错误消息-只是挂起。
通过MRE:
library(arrow)
## clear environment
rm(list=ls())
### read in models
x <- 1
while (x < 50)
{
print(x)
matches_for_prediction <- read_feather(<file_path>)
x = x + 1
Sys.sleep(2)
}
我想知道这是否可能是某种打开文件的冲突,但我已经尝试延长睡眠无济于事。
坦白说......我主要使用Python,对R不太了解。
2条答案
按热度按时间kqhtkvqz1#
我也有这个问题,通过大量的挖掘,我发现这个问题:https://issues.apache.org/jira/browse/ARROW-11579它描述了在windows上有时会出现线程死锁。可能的解决方案如下:
y1aodyip2#
由于代码可以在小文件上完美运行,因此可能是内存问题。
您可以尝试以下操作,这将给予:
1.你试图读取的文件的大小
memory.size()
仅适用于Windows)1.执行垃圾收集,以便删除未使用的对象
循环只会在内存容量合适的情况下结束!