"Can't allocate vector of size..." 错误,即使 memory.limit() 和 memory.size() 高得多
"Can't allocate vector of size..." error even though memory.limit() and memory.size() are much higher
我想 运行 我的数据上的随机森林,例如
# fit a random forest model (using ranger)
rf_fit <- train(as.factor(y_variable) ~ .,
data = training_set,
method = "ranger")
哪个returns:
Error: cannot allocate vector of size 5.8 Gb
但是
memory.limit()
returns:
[1] 20000
和
memory.size()
returns 稍小的值(但仍大于 6GB):
[1] 18785.67
那为什么不能分配内存呢?
那个错误是内存分配的“最后一根稻草”。因此,即使您有 20GB 的 RAM,在它需要分配另外 6GB 的地方,也没有足够的可用空间。这可能是因为您已经有对象占用了 space,或者因为随机森林模型正在为多个对象分配内存,这些对象的总内存大于 20GB。
我想 运行 我的数据上的随机森林,例如
# fit a random forest model (using ranger)
rf_fit <- train(as.factor(y_variable) ~ .,
data = training_set,
method = "ranger")
哪个returns:
Error: cannot allocate vector of size 5.8 Gb
但是
memory.limit()
returns:
[1] 20000
和
memory.size()
returns 稍小的值(但仍大于 6GB):
[1] 18785.67
那为什么不能分配内存呢?
那个错误是内存分配的“最后一根稻草”。因此,即使您有 20GB 的 RAM,在它需要分配另外 6GB 的地方,也没有足够的可用空间。这可能是因为您已经有对象占用了 space,或者因为随机森林模型正在为多个对象分配内存,这些对象的总内存大于 20GB。