2016-05-24 12 views
0

Ich versuche, einen Dlib's train_shape_predictor_ex.cpp mit Halen Datensatz zu trainieren. Ich kompilierte den Code mit Visual Studio in release mode für 64-bit plateform als console application.Warum benötigt mein Programm nicht mehr als 2 GB RAM auf 64 GB RAM System?

Wenn ich the train_shape_predictor_ex.exe in Eingabeaufforderung ausführen, begann der ausgeführten Prozess und ich sah in Task Manager dass Speicherverbrauch durch dieses Verfahren wurde erhöht, sondern es wurde bis um 1,9 GB und gab eine Laufzeitausnahme beendet: schlechte Zuordnung. Es ist nicht in der Lage, mehr RAM als rund 1,9 GB RAM zu nehmen. Mein System ist 64 GB RAM

Kann mir jemand helfen, dieses Problem zu lösen? Vielen Dank im Voraus!

+1

Da dies das Maximum für eine einzige Anwendung ist. Ihre Frage, die ich denke, ist Thema, aber hast du es erforscht? http://stackoverflow.com/questions/11891593/the-maximum-amount-of-memory-any-single-process-on-windows-can-address –

+1

@FirstStep Was meinst du mit einer einzigen Anwendung. Ich habe in meinem Task-Manager gesehen, dass ein MySQL-Anwendungsprozess ungefähr 16 GB physischen Arbeitsspeicher mit insgesamt 64 GB RAM verwendet. – Mavie

+3

@FirstStep Sind Sie sicher? Ich schwöre, Firefox saß bei 8,3 GB RAM, als ich es neulich schloss (ja, ich habe eine * Menge * Tabs) – Borgleader

Antwort

1

Um C++ - Anwendung zu erstellen, die physischen Speicher als normale 32-Bit-Anwendung verbrauchen kann (bedeutet 2 GB), ist es erforderlich, die Anwendung im 64-Bit-Modus zu erstellen.

  • Aktivieren Sie die/LARGEADDRESSAWARE Flag auf true
  • Build-Anwendung für 65-Bit-Ziel-CPU.
+0

Ist mir etwas nicht bekannt oder sollte das "64-Bit" anstelle von "65-Bit" sein? – lucidbrot

Verwandte Themen