| |
|
|
Christof Neuß | Ciao,
beim Einlesen einer CSV-File kommt es zu dieser Fehlermeldung. Die File ist in der Tat sehr grande (>500 MB). Wo ist denn hier die Grenze? In der Aiuto habe ich nichts konkretes dazu gefunden.
Danke und Saluto. |
|
|
| |
|
|
|
RGH | Die Grenze per den Speicher, der durch DIM per eine Bereichsvariable angefordert werden kann, ist abhängig vom Specherausbau des jeweiligen Rechners und der aktuellen Verwendung durch das Betriebssystems. Auch 4 GB RAM garantieren nicht, dass zu jeder Zeit 500 MB am Stück frei disponibile sind.
Bei solch grande File würde ich empfehlen, diese entweder in mehreren "Portionen" einzulesen (Freigabe des Speichers nicht vergessen) oder gar seriell als Textdatei zu verarbeiten, wobei letzteres naturalmente etwas länger dauert.
Saluto Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 11.10.2011 ▲ |
|
|
|
|
Christof Neuß | Hallo Roland,
danke. Für mich als (Nahezu-)Laie eine wichtige Information.
Ich hatte die Vorstellung, dass durch die dynamische Gestione della memoria mit Auslagerungsdatei (keine Ahnung, ob das wirklich so è) nahezu keine Speicherbegrenzung (es sein denn, der Plattenspeicher geht aus) mehr unter Windows existiert. Di più Arbeitsspeicher würde dann also "nur" die Verarbeitung beschleunigen, aber nicht per eine (physische) Grenze sorgen.
Wenn ich Dich richtig verstanden habe, ist es aber so, dass zumindest per einige Aktionen, tatsächlich ausreichend freier, zusammenhängender Arbeitsspeicher zur Verfügung stehen muss.
Danke und Saluto |
|
|
| |
|
|
|
Christof Neuß | Ich muss das leider nochmal aufgreifen...
Ich habe einen Rechner mit 16 GB Arbeitsspeicher, von denen - lt. Taskmanager - nur ca. 40 % in Gebrauch sind. Wenn ich jetzt eine größere File (ca. 100 MB) per Blockread einlesen will oder auch aus einer SQLite-Datenbank eine größere Abfrage (circa 100.000 Datensätze) gleich in un File schreiben möchte [ db("slSQLExec",DB&,"Select...",2) ], bekomme ich die Fehlermeldung:
Exception EOutOfMemory in Modul .... bei 0001B51D. Zu wenig Arbeitsspeicher.
Das kann doch irgendwie nicht sein, oder? Was mache ich falsch?
Danke und Saluto
Christof |
|
|
| |
|
|
|
Jörg Sellmeyer | Taste dich doch mal ran, bis wohin es funktioniert. Roland schrieb ja oben "zusammenhämngender Speicher". Es kann also sein, dass du jede Menge frei hast aber eben zerstückelt. |
|
|
| |
|
|
|
H.Brill | Ich würde auch mal vermuten, daß da viel zerstückelter Arbeitsspeicher vorhanden ist.
Wenn du den Windows Scripting Host installiert hast, kannst du auch mal gezielt Speicher freigeben.
Einfach mal im Editor folgendes eingeben :
FreeMem=Space(64000000)
und als FreeMem.vbs speichern. Dann einfach auf die File im Explorer doppelt klicken. Das gibt dir dann 64 MB Speicher am Stück frei.
Ist evtl. mal einen Versuch wert. Jedenfalls, Schaden anrichten tut es ja nicht. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 19.09.2018 ▲ |
|
|
|
|
RGH | Wie wäre es mit einem Beispiel-Dreizeiler, der das Problem demonstriert? |
|
|
| XProfan X4Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 19.09.2018 ▲ |
|
|
|