R Nie można przydzielić pamięci, chociaż pamięć wydaje się być dostępna

Po uruchomieniu kilku modeli muszę uruchomićsystem() polecenie na moim skrypcie R, aby zamknąć moją instancję EC2, ale kiedy dojdę do tego punktu, otrzymuję:

cannot popen 'ls', probable reason 'Cannot allocate memory'

Uwaga: dla tego pytania próbowałem nawetls co nie zadziałało

Przepływ mojego skryptu jest następujący

Załaduj model (około 2 GB)Kopiuj dokumenty i pisz do bazy danych MySQL

Powyższe kroki są powtarzane około 20 razy w różnych modelach o średniej wielkości 2 GB każdy

Zakończ instancję

W tym momencie muszę zadzwonićsystem("sudo shutdown -h now") i nic się nie dzieje, ale kiedy próbujęsystem("sudo shutdown -h now",intern=TRUE) Dostaję błąd przydziału.

próbowałemrm() dla wszystkich moich obiektów tuż przed wywołaniem zamknięcia, ale ten sam błąd nadal występuje.

Oto niektóre dane w moim systemie, które sąduża instancja EC2 Ubuntu

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    

Zwraca gc ()

          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

Zauważyłem, że jeśli uruchomię tylko 1 model zamiast 20, to działa dobrze, więc może być tak, że pamięć nie jest wolna po każdym uruchomieniu, chociaż zrobiłem torm() używane przedmioty

Zauważyłem też, że jeśli zamknę R i uruchomię go ponownie, a następnie zadzwonięsystem() to działa. Jeśli istnieje sposób na ponowne uruchomienie R w R, może mogę dodać to do mojegoscript.sh pływ.

Byłby to odpowiedni sposób na oczyszczenie wszystkich moich obiektów i zwolnienie pamięci dla każdej pętli, więc kiedy muszę zadzwonić dosystem() komendy nie ma problemu z pamięcią?

Każda wskazówka we właściwym kierunku zostanie bardzo doceniona! Dzięki

questionAnswers(1)

yourAnswerToTheQuestion