【发布时间】:2019-10-05 16:53:19
【问题描述】:
我想在 RStudio Server 上运行模型,但出现此错误。
错误:无法分配大小为 57.8 Gb 的向量
这就是我的数据的样子,它有 10,000 行。
latitude longitude close_date close_price
1 1.501986 86.35068 2014-08-16 22:25:31.925431 1302246.3
2 36.367095 -98.66428 2014-08-05 06:34:00.165876 147504.5
3 36.599284 -97.92470 2014-08-12 23:48:00.887510 137400.6
4 67.994791 64.68859 2014-08-17 05:27:01.404296 -14112.0
这是我的模型。
library(caret)
training.samples <- data$close_price %>%
createDataPartition(p = 0.8, list = FALSE)
train.data <- data[training.samples, ]
test.data <- datatraining.samples, ]
model <- train(
close_price~., data = train.data, method = "knn",
trControl = trainControl("cv", number = 1),
preProcess = c("center","scale"),
tuneLength = 1
)
我的 EC2 实例有超过 57 GB 的可用空间。这就是记忆。
total used free shared buffers cached
Mem: 65951628 830424 65121204 64 23908 215484
-/+ buffers/cache: 591032 65360596
Swap: 0 0 0
而且它也有足够的存储空间。这是硬盘空间。
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 32965196 64 32965132 1% /dev
tmpfs 32975812 0 32975812 0% /dev/shm
/dev/xvda1 103079180 6135168 96843764 6% /
这些是机器的详细信息。
R version 3.5.3 (2019-03-11)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Amazon Linux AMI 2018.03
【问题讨论】:
-
一些基础知识:当您创建
train.data和test.data,而您周围还有training.samples时,您在内存中存储了 2 个数据副本。也许rm(training.samples)摆脱一份副本。但是,您的数据非常小,这对太多帮助不大。 (尽管请确保您没有其他大型不需要的对象漂浮在周围。)标记的副本有很多针对此问题的一般建议和信息。
标签: r amazon-web-services amazon-ec2 server rstudio