RAM Verbrauch einer Software auf unterschiedlichen Systemen

bdb

Lt. Commander
Registriert
Feb. 2004
Beiträge
1.323
Evtl hat hier jemand eine Erklärung für mich.

Ich benutze Eine Simulationssoftware (speziell geschrieben, nicht auf dem öffentlichen Markt).

Diese Verbraucht auf einem i5 750, 8gb ram, windows 7 x64 beim Berechnen ca 3,5gb RAM

Es wird exakt die selbe Software mit exakt den selben Daten auf einem qx9650, 8gb ram, windows 7 x64 benutzt. Bei diesem Setup steigt der RAM Verbrauch auf 4,7gb während der Berechnung an.

Liegt das an der unterschiedlichen Hardware? kann mir den 1,2gb Unterschied nicht erklären.

Hintergrund:

Würde gern das Programm zwei mal gleichzeitig rechnen lassen, das geht auf dem i5 Setup problemlos. Auf dem zweiten nicht.

Bin für jede Erklärung dankbar :)
 
Wie viel ein Programm an RAM verbraucht, das ist keine statische Angelegenheit. Es ist von zig Faktoren abhängig. Von der gesamten Hardware, von der Software usw.

Warum läuft auf dem qx9650 das Programm nicht zwei mal? Vermutlich hast Du an den Einstellungen der Windows Auslagerungsdatei herum gespielt. Oder andere Sachen eingestellt, die den Umgang von Windows mit dem RAM beeinflusst. Oder das Programm ist einfach schlecht programmiert.
 
Die Einstellungen zur Auslagerungsdatei kann ich nochmal vergleichen, wusste nicht das diese einen direkten Einfluss auf das Programm haben können.

Danke!

Beim qx9650 passen die 2x 4,7gb nicht in den 8gb Arbeitsspeicher ;) Durch das ständige Auslagern kommt keine Berechnung zustande.
 
Sicher passen 2x4.7 GB in 8 GB Ram. Dafür gibt es die Auslagerungsdatei. Und die Einstellungen an ihr sollte man erst mal nicht ändern.

Darum meine Frage, warum startet das Programm nicht zwei mal. Wie stellt es sich da? Gibt es eine Fehlermeldung?
 
BlubbsDE schrieb:
Sicher passen 2x4.7 GB in 8 GB Ram. Dafür gibt es die Auslagerungsdatei. Und die Einstellungen an ihr sollte man erst mal nicht ändern.

Darum meine Frage, warum startet das Programm nicht zwei mal. Wie stellt es sich da? Gibt es eine Fehlermeldung?

Das Programm startet, es erzeugt durch das Auslagern eine 100% Festplattenlast. Die Cpu Auslastung sinkt in den einstelligen Bereich. Somit kommt keine Berechnung zustande.

Ohne Auslagern Dauert ein Berechnungsschritt ca 1 Std 10 Min .... mit Auslagern hab ich in 24h nicht geschafft auch nur einen Datensatz zu berechnen.
 
Und warum sollen dann 2 Instanzen parallel laufen, wenn das Programm so fordernd ist? Da würde ich doch einfach mit einer Instanz arbeiten. Oder läuft es nur auf einem Kerne / Thread?
 
Wenn Du von der Festplatte anstatt aus dem RAM liest, dann wird sowas ewig dauern. Denn viele Simulationen werden durch die Bandbreite limitiert. Wenn dann noch dazukommt, dass randomisierte Bereiche ausgelesen werden, wird die Festplattenlösung unbenutzbar. Die Leserate geht dann tief in den Keller.

Steck RAM dazu und rüste auf mindestens 16 GB RAM auf. Das wäre die einfachste Lösung.
 
Exakt, es läuft nur auf einem Kern :)
 
OK, aber wie gesagt, warum auf System A mehr RAM verbraucht wird, als auf System B, das kann Dir hier niemand beantworten. Wenn Du da eine befriedigende Antwort haben willst, dann solltest Du Dich an den Programmierer der Software wenden. Das kann eben Millionen von Gründen haben. Das kann auch an fehlenden CPU Erweiterungen liegen. Der neuere 750 hat mehr Erweiterungen, als der alte Core2Quad.

Und eben mal genauer beobachten, was den RAM so belegt. Siehe Beitrag #5. Oder auch einfach mit dem Resourcen Monitor von Windows. Erreichbar über den Taskmanager.
 
@BlubbsDE

Bei vielen Simulationsprogrammen ist es sehr wichtig, dass die Daten wirklich im RAM liegen und nicht in der Auslagerungsdatei. Das Problem mit der Auslagerungsdatei ist die hohe Zugriffszeit im Vergleich zum RAM.


@bdb

Falls das Programm bei euch geschrieben wurde, einfach mal die Programmierer fragen. In der Regel haben die eine Idee was die Ursache sein könnte.
 
Wie gross sind die Daten die berechnet werden? Handelt es sich hier um ein paar MB oder GB?
Liegen die Daten auf einer HDD oder SSD, könnte sein dass die I/O Performance beim alten qx9650 die Limitierung ist.
Wir wahrscheinlich auch noch ein SATA II Interface besitzen und hier merkt man den Unterschied zwischen SATA II und III, wenn eine SSD angeschlossen ist.
 
Sicher ist die Auslagerungsdatei mist. Wenn sie stark gebraucht wird. Ich sagte auch nie etwas anderes. Habe sie nur angesprochen, weil die Veränderungen von Einstellungen an ihr eben solche Probleme machen kann.

Und es liegt ja wohl an der Software selbst. Es gibt auch genügend Software aus diesem Genre, was eben nicht vom HDD Zugriff abhängig ist. Liegt eben ganz daran, was da passiert.
 
Statt einer HDD würde ich eine SSD einsetzen. Hat wesentlich kürzere Zugriffszeiten und auch höhere Transferraten als eine HDD.

Vorab aber auch mehr RAM wenn 2 Instanzen davon gleichzeitig rechnen sollen. Um so mehr davon in den RAM passt um so weniger muss ausgelagert werden. Und RAM ist auch immer noch schneller als eine SSD.
 
Die Daten die am Ende rauskommen sind winzig, riesig ist die Datenmenge die beim Berechnen anfällt.

Da ist es auch ganz egal ob SSD oder HDD sobald etwas ausgelagert werden muss kommt keine Berechnung mehr zustande, es muss alles im RAM bleiben. Sonst geht da gar nix ;)

Deswegen war ja die Kernfrage warum das Programm auf einer unterschiedlichen CPU, MB Kombination drastisch mehr RAM benötigt.
 
Mal abgesehen davon, dass es unterschiedlich viel RAM braucht, finde ich persönlich, dass für 2 Instanzen mit 3,5GB auf dem 750er System, auch 8GB sehr knapp sind.
 
Ohne überragend große Programmierkenntnisse zu besitzen, kann es sein, dass die nativen Datentypen auf beiden Systemen unterschiedlich groß sind?
Ein INT ist z.B. auf System A 8 Bit, auf System B 16 Bit groß, beim Initialisieren wird unterschiedlich viel Speicher alloziert, nicht genutzt und man hat höheren Speicherverbrauch.

Nur so ein Gedanke, Grüße
 
Könnte auch sein das die Grundauslastung der Systeme unterschiedlich sind?

Ein genaues Feedback wirst du von uns Warscheindlich nicht erhalten können, da wir hier auch von unterschiedlichen System sprechen.

1. ein moderners System mit DDR3 Ram und i7 etc und einem 2. mit C2Q und DDR2 Ram. Geht in die Richtung, dass wir Apfel mit Birnen vergleichen.
Ich könnte mir nur noch vorstellen, dass wenn das (Windows?) OS läuft, das der eine Computer 1GB Ram verbraucht und der andere 1.5GB, ohne zusätzliche Applikation etc.
 
Ist nur eine Vermutung, aber ich könnte mir vorstellen, dass der (minder-) Speicherverbrauch mit dem Threading von dem i5 zusammenhängt. Beide CPU haben zwar 4 Kerne (QX9650+i5 750), aber nur der neuere von 2009 (i5 750) hat zusätzlich 4 Threads. Die Threads bringen zwar nichts für die Berechnung (nur die Cores rechnen), aber die Threads können während dessen andere Dinge erledigen. Unter anderem auch Speichermanagement (wäre hier so eine Art "der Alte räumt später auf, weil der noch arbeiten muss":D ).

Prüfen mal, was passiert, wenn HT deaktiviert wird (geht normalerweise im BIOS).
 
Zuletzt bearbeitet:
Zurück
Oben