Die Anwendung kann auf einen 64-Bit-Prozessor nicht mehr als 4 GB zugreifen

5732
alex

Ich versuche, ein speicherintensives Programm auszuführen, das mehr als 4 GB Speicher benötigt. Ich verwende es auf einem 64-Bit-Prozessor und habe 16 GB RAM (was auch für mich sichtbar ist). Aber das Programm stürzt ab. Daher kann ich nicht mehr als 4 GB für einen Prozess auf einem 64-Bit-Prozessor verwenden. Wie löse ich dieses Problem?

Edit : Die Sache ist, dass der Prozessor 64-Bit ist und das Betriebssystem einen 64-Bit-Prozessor unterstützt. Und ich versuche, C-Code auszuführen, der viel Speicher benötigt, da es sich um einen Videoverarbeitungscode handelt. Es stürzt jedoch ab, wenn der Speicher mehr als 4 GB benötigt, obwohl 16 GB RAM sichtbar sind.

Das Betriebssystem ist Windows Server 2003.

3
Welches Betriebssystem? Welcher Compiler? Harriv vor 14 Jahren 2
Weitere Details bitte, schreiben Sie eine 32-Bit- oder 64-Bit-App? 32-Bit- oder 64-Bit-Betriebssystem? Artelius vor 14 Jahren 3
Wenn Sie nicht möchten, dass dies zu Super User migriert wird, bearbeiten Sie Ihre Frage, um deutlich zu machen, dass Sie eine Anwendung entwickeln ChrisF vor 14 Jahren 1
Ich hatte einmal eine Software (Macromedia Fontographer, letzte Version), die sofort nach dem Start abstürzte, sobald der PC (Windows) mehr als 1 GB RAM hatte. Martin vor 14 Jahren 0
Warum landen diese Fragen bei SU so? Kann niemand sie vor der Migration richtig bearbeiten? Diese ganze Frage ist offen gesagt ein Durcheinander. alex vor 14 Jahren 0
Wem auch immer dieser Frage-Thread aufgeräumt hat, vielen Dank! alex vor 14 Jahren 0
Kein Problem. Ich habe gerade alle Antworten gelöscht, die Kommentare hätten sein sollen. Nicht viel mehr kann man machen. BinaryMisfit vor 14 Jahren 0
Ist dies eine Standardanwendung, die Sie verwenden, und wenn ja, sagen Sie es uns. Ist das ein Programm, das Sie selbst schreiben? In diesem Fall liegt wahrscheinlich ein Fehler in Ihrem Code vor, beispielsweise wenn Sie einen 32-Bit-Datentyp verwenden, an dem Sie einen 64-Bit-Datentyp verwenden sollten. davr vor 14 Jahren 0

1 Antwort auf die Frage

13
RichieHindle

Wenn Ihr Programm ein 32-Bit-Programm ist, kann es nicht mehr als 4 GB verwenden, unabhängig von dem Prozessor oder Betriebssystem, auf dem Sie es ausführen.

Wissen Sie sicher, dass Ihr Programm als 64-Bit-Version kompiliert ist und Sie es auf einem 64-Bit-Betriebssystem ausführen?

Die Frage lässt sich schwer sagen, aber erwarten Sie, dass Sie einige Standard-Software ausführen und mehr als 4 GB RAM verwenden werden? Das wird nicht funktionieren, es sei denn, es wurde speziell für 64-Bit kompiliert, was bei den meisten gängigen Windows-Programmen nicht der Fall ist.

32-Bit-Programme können nur 2 GB RAM verwenden (3 GB bei 32-Bit-OS / 4 GB bei 64-Bit-Betriebssystem mit / LARGEADDRESSAWARE-Verknüpfungsflag an). phuclv vor 10 Jahren 1