Ich möchte die für R verfügbare Speichermenge erhöhen (oder verringern). Welche Methoden gibt es, um dies zu erreichen?
Ich möchte die für R verfügbare Speichermenge erhöhen (oder verringern). Welche Methoden gibt es, um dies zu erreichen?
Antworten:
Von:
http://gking.harvard.edu/zelig/docs/How_do_I2.html ( Spiegel )
Windows-Benutzer erhalten möglicherweise die Fehlermeldung, dass R nicht genügend Arbeitsspeicher hat.
Wenn Sie R bereits installiert haben und anschließend mehr RAM installieren, müssen Sie R möglicherweise neu installieren, um die zusätzliche Kapazität nutzen zu können.
Sie können die Menge des verfügbaren Speichers auch manuell einstellen. Schließen Sie R und klicken Sie mit der rechten Maustaste auf Ihr R-Programmsymbol (das Symbol auf Ihrem Desktop oder in Ihrem Programmverzeichnis). Wählen Sie "Eigenschaften" und dann die Registerkarte "Verknüpfung". Suchen Sie nach dem Feld "Ziel" und fügen Sie nach den abschließenden Anführungszeichen um die Position der ausführbaren R-Datei hinzu
--max-mem-size = 500M
wie in der Abbildung unten gezeigt. Sie können diesen Wert auf bis zu 2 GB oder die maximal installierte physische RAM-Größe erhöhen.
Wenn Sie die Fehlermeldung erhalten, dass R keinen Vektor der Länge x zuordnen kann, schließen Sie R und fügen Sie die folgende Zeile in das Feld "Ziel" ein:
--max-vsize = 500M
oder nach Bedarf. Sie können jederzeit überprüfen, wie viel Speicher R verfügbar ist, indem Sie an der Eingabeaufforderung R eingeben
memory.limit()
Dies gibt Ihnen die Menge des verfügbaren Speichers in MB. In früheren Versionen von R mussten Sie Folgendes verwenden : round(memory.limit()/2^20, 2)
.
Verwenden Sie memory.limit()
. Sie können die Standardeinstellung mit diesem Befehl erhöhen memory.limit(size=2500)
, wobei die Größe in MB angegeben ist. Sie müssen 64-Bit verwenden, um dies wirklich nutzen zu können.
Ein weiterer Vorschlag ist, wo immer möglich speichereffiziente Objekte zu verwenden: Verwenden Sie beispielsweise eine Matrix anstelle eines data.frame.
Microsoft Windows akzeptiert alle Speicheranforderungen von Prozessen, wenn dies möglich ist.
Es gibt keine Begrenzung für den Speicher, der für einen Prozess bereitgestellt werden kann, mit Ausnahme der Größe des virtuellen Speichers.
Die Größe des virtuellen Speichers beträgt 4 GB in 32-Bit-Systemen für alle Prozesse, unabhängig davon, wie viele Anwendungen Sie ausführen. Jeder Prozess kann in 32-Bit-Systemen bis zu 4 GB Speicher zuweisen.
In der Praxis weist Windows abhängig von den Prozessanforderungen und dem Mechanismus der Auslagerungsdatei automatisch einige Teile des zugewiesenen Speichers aus dem RAM oder der Auslagerungsdatei zu.
Eine weitere Einschränkung ist die Größe der Auslagerungsdatei. Wenn Sie eine kleine Auslagerungsdatei haben, können Sie keine großen Speicher zuweisen. Sie können die Größe der Auslagerungsdatei laut Microsoft erhöhen , um mehr Speicherplatz zu haben.
Um die R zugewiesene Speichermenge zu erhöhen, können Sie memory.limit verwenden
memory.limit(size = ...)
Oder
memory.size(max = ...)
Über die Argumente