2013-03-24 12 views
5

Ich benutze 64-Bit-R auf Ubuntu 12.10 AMD64. Ich habe vor kurzem zusätzliche 8 GB Speicher zu meinem System hinzugefügt, was insgesamt 12 GB ergibt. Aber ich bemerke, dass R mir einen Fehler gibt, wenn die Speicherbelegung (einer einzelnen R-Sitzung) über 4 GB hinausgeht. Wenn ich 6 R-Sitzungen parallel abspielte, die jeweils ~ 3 GB Speicher verbrauchten, erhöhte sich meine gesamte Speicherbelegung auf 11 GB. Aber eine einzelne R-Sitzung kann nicht mehr als 4 GB verwenden! Ich muss ein zufälliges Waldmodell über einen großen Datensatz trainieren und ich brauche> 4 GB mit einer einzigen R-Sitzung.R nicht mehr als 4 GB Speicher verwenden

Update:

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 

Update 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

Ich habe kein Problem mit 64-Bit-R auf Fedora AMD64. Ich habe es vorher 30G benutzt. Vielleicht haben Sie Prozessquoten? –

+7

können Sie die Ausgabe von 'sessionInfo()'? – Dason

+0

@Dason hat die Ausgabe von sessionInfo() hinzugefügt –

Antwort

0

In einem Windows-Betriebssystem standardmäßig installiert R sowohl 32- als auch 64-Bit-Versionen. Obwohl, sieht es nicht wie Linux aus. Wenn Sie eine IDE wie RStudio verwenden, verweist diese, falls installiert, auf die 32-Bit-Version. Sie können dies in den RStudio-Einstellungen ändern.

+0

Sehen Sie das Ergebnis von 'sessionInfo()' in der bearbeiteten Frage. Und ich bin nicht sicher, ob Ubuntu die 32-Bit-Version installiert, wenn Sie die 64-Bit-Version installieren. Fedora nicht. –

+0

@MatthewLundberg, habe ich meine Antwort geändert, um zu reflektieren, dass R beide Versionen unter Linux nicht installiert. Allerdings lösche ich die Antwort nicht, weil ich genau in einem meiner Labs auf dieses Problem gestoßen bin. Ein Student verwendete RStudio in Windows, hatte beide R-Versionen installiert und stieß auf RAM-Probleme. Sobald wir die RStudio-Konfiguration zu R x64 geändert haben, funktionierte es. Beantwortet diesen Beitrag nicht, aber immer noch nützlich. –

1

Ich vermute, dass Sie Prozesslimits haben und jeden Prozess auf 4G beschränken.

Versuchen Sie ulimit -a und suchen Sie nach nicht unbegrenzten Werten im Zusammenhang mit Speicher.

Überprüfen Sie auch die Datei /etc/security/limits.conf und alle Dateien in /etc/security/limits.d/ für Einträge auf Speicherlimits.

Insbesondere diese beiden:

data 
as 

Siehe man limits.conf für die Quoten, die von PAM erzwungen werden kann.

+0

ulimit zeigt 'unlimited', die Datei /etc/security/limits.conf ist komplett kommentiert, und es gibt keine Dateien in /etc/security/limits.d/ –

+0

@SagarJauhari Oh, sorry, versuche 'ulimit -a' zu Suche nach Speichergrenzen! –

+0

Mein Fehler. Die obige Ausgabe hinzugefügt. –

Verwandte Themen