2016-08-08 16 views
-2

Zeit eine Panda Operation ist mit zwei CSV-Datei zu verschmelzen nehmen Sie rund 4,6 GB RAM Ich mag von 2 gb wie Java -Xmax und -Xmin die RAM-Auslastung begrenzenWie die Speichernutzung ofPython begrenzen _ Pandas

sind ihre jede mögliche Weise

+0

Sie können es tun, wenn Sie Ihre Datensätze in Blöcken verarbeitet werden können, sonst werden Ihre Daten vollständig im Speicher gelesen werden und verarbeitet dann – MaxU

+0

, die auch versucht, aber keine Optionen mit dem angegebenen Speichergröße – amicos

+1

AFAIK zu begrenzen, da keines 'Java ist -Xmax 'und' -Xmin'-Äquivalente in Pandas. Wie möchten Sie Ihre CSV-Dateien zusammenführen - kann es in Chunks erfolgen - wenn ja, können Sie kleinere Chunks angeben, dann brauchen Pandas nicht so viel RAM? – MaxU

Antwort

2

Verwendung so

Vielen Dank im Voraus zu tun setrlimit:

import resource 

rsrc = resource.RLIMIT_DATA 
soft, hard = resource.getrlimit(rsrc) 
print 'Soft limit starts as :', soft 

resource.setrlimit(rsrc, (1024, hard)) #limit to one kilobyte 

soft, hard = resource.getrlimit(rsrc) 
print 'Soft limit changed to :', soft 

EDIT : Eigentlich bin ich mir nicht sicher, ob setrlimit die CPU- oder RAM-Auslastung steuert.

ulimit -v 128k 
python script.py 
ulimit -v unlimited 

EDIT: aus der Schale, aber könnten Sie Gebrauch von ulimit machen Bitte beachten Sie, dass dies für Linux ist Systeme, und ich bin nicht sicher, wie dies zu tun, oder wenn es unter Windows möglich.

+1

wenn ich mich gut erinnere, gibt es keine Möglichkeit, in Windows die Menge an RAM zu steuern –

+1

@Noobie In Windows kann das wahr sein. Dies ist für Linux, ich werde aktualisieren, um zu klären. –

+0

keine Sorgen Kumpel –