2013-03-24 31 views
5

Używam 64 bitowego R na Ubuntu 12.10 AMD64. Ostatnio dodałem do systemu dodatkowe 8 GB pamięci, co daje w sumie 12 GB. Ale zauważam, że R daje mi błąd, gdy zużycie pamięci (pojedynczej sesji R) przekracza 4 GB. Kiedy równolegle uruchomiłem 6 sesji R, każda zużywająca około 3 GB pamięci, moje ponadprzeciętne wykorzystanie pamięci wzrosło do 11 GB. Ale pojedyncza sesja R nie może używać więcej niż 4 GB! Potrzebuję wyszkolić losowy model lasu na dużym zbiorze danych i potrzebuję> 4 GB w jednej sesji R.R nie używa więcej niż 4 GB pamięci

Aktualizacja:

R> sessionInfo() 

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] stats  graphics grDevices utils  datasets methods 
[7] base  

loaded via a namespace (and not attached): 
[1] tools_2.15.1 

Aktualizacja 2:

$ ulimit -a 
core file size   (blocks, -c) 0 
data seg size   (kbytes, -d) unlimited 
scheduling priority    (-e) 0 
file size    (blocks, -f) unlimited 
pending signals     (-i) 92787 
max locked memory  (kbytes, -l) 64 
max memory size   (kbytes, -m) unlimited 
open files      (-n) 1024 
pipe size   (512 bytes, -p) 8 
POSIX message queues  (bytes, -q) 819200 
real-time priority    (-r) 0 
stack size    (kbytes, -s) 8192 
cpu time    (seconds, -t) unlimited 
max user processes    (-u) 92787 
virtual memory   (kbytes, -v) unlimited 
file locks      (-x) unlimited 
+0

Nie mam problemu z 64-bitowym R na Fedorze AMD64. Już wcześniej używałam 30G. Być może masz limity procesowe? –

+7

można opublikować wyjście z 'sessionInfo()'? – Dason

+0

@Dason dodał dane wyjściowe sessionInfo() –

Odpowiedz

0

W systemie operacyjnym Windows, domyślnie instaluje R obie wersje 32- i 64-bitowych. Chociaż wygląda na to, że Linux tego nie robi. Jeśli używasz IDE takiego jak RStudio to, jeśli jest zainstalowane, wskazuje na wersję 32-bitową. Możesz to zmienić w ustawieniach Rstudio.

+0

Zobacz wynik 'sessionInfo()' w edytowanym pytaniu. I nie jestem pewien, czy Ubuntu instaluje wersję 32-bitową podczas instalacji wersji 64-bitowej. Fedora tego nie robi. –

+0

@MatthewLundberg, zmodyfikowałem swoją odpowiedź, aby odzwierciedlić, że R nie instaluje obu wersji w systemie Linux. Jednak nie usuwam odpowiedzi, ponieważ napotkałem dokładnie ten problem w moich laboratoriach. Jeden student korzystał z RStudio w Windowsie, miał zainstalowane obie wersje R i napotkał problemy z pamięcią RAM. Po zmianie konfiguracji RStudio na R x64 zadziałało. Nie odpowiada na ten wpis, ale nadal jest przydatny. –

1

Podejrzewam, że masz ograniczenia procesowe na miejscu, ograniczając dowolny proces do 4G.

Wypróbuj ulimit -a i poszukaj dowolnych nielimitowanych wartości związanych z pamięcią.

Sprawdź także plik /etc/security/limits.conf i wszelkie pliki w numerze /etc/security/limits.d/ pod kątem wpisów dotyczących limitów pamięci.

W szczególności te dwa:

data 
as 

Zobacz man limits.conf do kwot, które mogą być egzekwowane przez PAM.

+0

ulimit pokazuje "bez ograniczeń", plik /etc/security/limits.conf jest całkowicie komentowany i nie ma plików w /etc/security/limits.d/ –

+0

@SagarJauhari Oh, przepraszam, spróbuj 'ulimit -a' do poszukaj limitów pamięci! –

+0

Mój błąd. Dodano wyjście powyżej. –