Einfluss auf Speicherverwaltung
-
Hallo Leute!
Gibt es irgendeine Möglichkeit Speicher so zu reservieren, dass er mit erhöhter Priorität im physischen Speicher bleibt?
Danke für Eure Ratschläge.
-
Du kannst Ihn so reservieren, dass er nie ausgelagert wird:
Zuerst mit VirtualAlloc(Ex) den Speicher allozieren ( MEM_COMMIT ) und dann mit VirtualLock / VirtualUnlock den allozieren Speicher im physikalischen Speicher sperren, damit er nicht ausgelagert werden kann.
Aber lt. Doku kann das dein Systemverhalten beeinflussen:
SYSTEM_INFO si; GetSystemInfo( &si ); DWORD dwAllocSize = si.dwPageSize; LPTSTR lpszMem = (LPTSTR)VirtualAlloc( NULL, dwAllocSize, MEM_COMMIT, PAGE_READWRITE ); if ( lpszMem!=NULL ) { if ( VirtualLock( lpszMem, dwAllocSize ) ) { //-- Hier was mit dem Speicher machen lstrcpyn( lpszMem, "Hello World", dwAllocSize ); VirtualUnlock( lpszMem, dwAllocSize ); } VirtualFree( lpszMem, 0, MEM_RELEASE ); }
-
Ist das nichts für die FAQ? Wird zwar nicht soooooo häufig gefragt, aber ich wollte das auch schon immer wissen und Andere sicher auch. Außerdem ist es verständlich, mit code und das Thema ist ja auch wohl abgeschlossen!!!!!!!!!!!!!!!!!!!!!!!!!
-
MisterX schrieb:
Ist das nichts für die FAQ? Wird zwar nicht soooooo häufig gefragt, aber ich wollte das auch schon immer wissen und Andere sicher auch. Außerdem ist es verständlich, mit code und das Thema ist ja auch wohl abgeschlossen!!!!!!!!!!!!!!!!!!!!!!!!!
Klemmen bei dir Umschalt Taste und die 1?
