64Bit oder Large-Address-Aware für Imabas

  • Hallo Kai
    Aktuell arbeite ich wieder intensiv mit Imabas und in der jetzigen Version bekomme ich bei umfangreichen Aktionen öfter mal die Meldung:

    "Not enough storage available to process this command"

    Imabas geht hier schlicht der Speicher aus. Wenn ich mir den Imabas.exe Process mal genauer anschaue hängt das Programm dann knapp unter der 2GB Grenze (Private Bytes 1.816.516K, Peak Private Bytes 1.818.268K und Virtual Size bei 1.993.532K), der Working Set liegt dann bei 1.838.052K ...

    Daraus möchte ich anregen entweder eine Imabas 64Bit Version in Betracht zu ziehen - oder aber ggf. Imabas Large-Address-Aware zu kompilieren. Dann könnten unter 64Bit Betriebssystemen immerhin 4GB anstatt nur 2 verwendet werden.

    Würde da was dagegen sprechen?

    Viele Grüße, Bernd

  • Hallo Bernd,


    witzig, aber genau an diesem "Problem" arbeite ich auch seit ein paar Tagen... Während eine 9.1 bei 15.000 Bildern gleichzeitig im Browser noch ca. 535K an Speicher zieht habe ich es durch Optimierungen im Speicherverbrauch der 9.2 auf 247K senken können. Als neues Feature habe ich dahingehend ein Limit für den Browser eingebaut, abschaltbar, das die Treffermenge auf 123.456 Bilder beschränkt, und Imabas benötigt dabei ca. 1500K. Zusätzlich fängt Imabas ein Out-Of-Memory ab und verwirft die Liste...


    Eine x64-Version wird es vors erste nicht geben, mangels Compiler :e030:. Im Oktober ist zwar die Delphi XE2 erschienen die einen x64 Compiler enthält, aber die Version ist noch ziemlich Buggy, Betatest beim Kunden *grrr*, und bis die Komponenten alle für x64 verfügbar sind, wird wohl es wohl Ende 2012...


    Dein Tipp bzgl. LAA war allerdings Gold wert, mein Delphi 2010 unterstützt das und mein erster Test konnte 209.000 Bilder laden mit einem Speicherbedarf von 2.600K :smile2:


    Werde jetzt noch das 4GB Limit für Imabas austesten, also wieviele Bilder damit geladen werden können, und Code zum erkennen ob x64 oder x32 Betriebssystem habe ich auch schon um das Limit entsprechend anzupassen...

  • Hallo Kai,


    erstmal muss ich sagen: Tolles Programm!


    Ich habe allerdings folgendes Problem:
    Der Import von Bildern ist nicht mehr möglich. Fehlermeldung: Zu wenig Arbeitsspeicher.
    Nach Klick auf "Importieren" allokiert der Imabas.exe-Prozess fast 4GB Arbeitsspeicher, danach erscheint die Fehlermeldung, selbst wenn ich nur 10 Bilder importieren möchte.


    Der gleiche Effekt tritt übrigens auf, wenn ich den Volume-Manager öffnen will.


    Mein System: Windows 7 64Bit, 24 GB RAM, Imabas 10.0.6 auf MySQL
    Anzahl Bilder: etwas über 5 Mio.
    Anzahl Filme: ca. 200.000
    Anzahl Volumes: ca. 200.000


    Da eine 64Bit-Version von Imabas wohl nicht so bald kommt, ließe sich wenigstens der Import ressourcensparender programmieren? Oder bleibt mir nur die Alternative die Imabas-Datenbank in mehrere aufzutrennen?


    Viele Grüße


    Merlin

  • Die Frage von Merlin ist interessant. Zwar stehe ich noch nicht bei 5mio Bildern aber 6stellig wird bei mir auch schon.

    Eine native 64Bit Version wäre hier wirklich eine coole Sache!

    Viele Grüße, Bernd

  • Hallo Bernd,


    das Problem von oben wurde mittlerweile gelöst, Imabas liest nicht mehr alle Volumes in den Speicher. Da das sonst nur auftreten kann wenn man mehr als 230.000 Bilder in den Browser laden möchte, denke ich macht 64-Bit nicht viel sinn, denn wer hat schon sooo viele Bilder und über die Sinnhaftkeit so viele Bilder in Browser laden zu können möchte ich nicht diskutieren :-)