Alocação de Memória “Erro: não é possível alocar vetor de tamanho 75.1 Mb” [duplicado]
Esta questão já tem uma resposta aqui:
R gerenciamento de memória / não pode alocar vetor de tamanho n Mb 8 respostasNo decorrer da vetorização de algum código de simulação, encontrei um problema de memória. Estou usando o 32 bit R versão 2.15.0 (via RStudio versão 0.96.122) no Windows XP. Minha máquina tem 3,46 GB de RAM.
> sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_United Kingdom.1252 LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] Matrix_1.0-6 lattice_0.20-6 MASS_7.3-18
loaded via a namespace (and not attached):
[1] grid_2.15.0 tools_2.15.0
Aqui está um exemplo mínimo do problema:
> memory.limit(3000)
[1] 3000
> rm(list = ls())
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 1069761 28.6 1710298 45.7 1710298 45.7
Vcells 901466 6.9 21692001 165.5 173386187 1322.9
> N <- 894993
> library(MASS)
> sims <- mvrnorm(n = N, mu = rep(0, 11), Sigma = diag(nrow = 11))
> sims <- mvrnorm(n = N + 1, mu = rep(0, 11), Sigma = diag(nrow = 11))
Error: cannot allocate vector of size 75.1 Mb
(Na minha aplicação, a matriz de covariância Sigma não é diagonal, mas recebo o mesmo erro de qualquer maneira.)
Passei a tarde lendo sobre problemas de alocação de memória em R (incluindoAqui, Aqui eAqui). Pelo que li, tenho a impressão de que não é uma questão da RAM disponível em si, mas do espaço de endereço contínuo disponível. Ainda assim, 75.1Mb parece muito pequeno para mim.
Eu apreciaria muito qualquer pensamento ou sugestão que você possa ter.