R No se puede asignar memoria aunque la memoria parece estar disponible
Después de ejecutar varios modelos necesito correr unsystem()
comando en mi script R para cerrar mi instancia de EC2, pero cuando llego a ese punto, obtengo:
cannot popen 'ls', probable reason 'Cannot allocate memory'
Nota: para esta pregunta incluso probéls
que no funcionó
El flujo de mi script es el siguiente
Modelo de carga (alrededor de 2 GB)Mina documentos y escribe en una base de datos MySQLLos pasos anteriores se repiten alrededor de 20 veces con diferentes modelos con un tamaño promedio de 2 GB cada uno
Terminar la instanciaEn este punto es cuando necesito llamarsystem("sudo shutdown -h now")
Y no pasa nada, pero cuando lo intento.system("sudo shutdown -h now",intern=TRUE)
Me sale el error de asignación.
Lo intentérm()
para todos mis objetos justo antes de llamar al apagado, pero el mismo error persiste.
Aquí hay algunos datos en mi sistema que es ungran instancia de Ubuntu EC2
R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] splines stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] RTextTools_1.3.9 tau_0.0-15 glmnet_1.8 Matrix_1.0-6
[5] lattice_0.20-10 maxent_1.3.2 Rcpp_0.9.13 caTools_1.13
[9] bitops_1.0-4.1 ipred_0.8-13 prodlim_1.3.2 KernSmooth_2.23-8
[13] survival_2.36-14 mlbench_2.1-1 MASS_7.3-21 rpart_3.1-54
[17] e1071_1.6-1 class_7.3-4 tm_0.5-7.3 nnet_7.3-4
[21] tree_1.0-31 randomForest_4.6-6 SparseM_0.96 RMySQL_0.9-3
[25] ggplot2_0.9.1 DBI_0.2-5
loaded via a namespace (and not attached):
[1] colorspace_1.1-2 dichromat_1.2-4 digest_0.5.2 grid_2.15.1
[5] labeling_0.2 memoise_0.1 munsell_0.3 plyr_1.7.1
[9] proto_0.3-9.2 RColorBrewer_1.0-5 reshape2_1.2.1 scales_0.2.1
[13] slam_0.1-25 stringr_0.6.1
gc () devuelve
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 1143171 61.1 5234604 279.6 5268036 281.4
Vcells 1055057 8.1 465891772 3554.5 767962930 5859.1
Noté que si ejecuto solo 1 modelo en lugar del 20, funciona bien, por lo que es posible que la memoria no se libere después de cada ejecución, aunque sí lo hice.rm()
los objetos usados
También noté que si cierro R, lo reinicio y luego llamosystem()
funciona. Si hay una manera de reiniciar R dentro de R, entonces tal vez pueda agregar eso a miscript.sh
fluir.
¿Cuál sería la forma adecuada de limpiar todos mis objetos y dejar la memoria libre para cada bucle, así que cuando tenga que llamar alsystem()
comandos no hay problema de memoria?
Cualquier consejo en la dirección correcta será muy apreciado! Gracias