Hi,
ich schiebe bei meinem Programm wahnsinnig viele daten in den arbeitsspeicher um schnell darauf zugreifen zu können.. das können gern auch mal 3-4gb daten sein, was natürlich fast jeden Arbeitsspeicher sprengt..
Im moment schaufle ich fröhlich immer weiter rein, bis irgendwann das programm abschmiert mit der Meldung "Nicht genügend Arbeitsspeicher."... wie ich rausbekomme ob noch Speicher da ist, weiß ich soweit... aber weiß jemand wie ich rausbekomme, ob daten ausgelagert werden aus dem RAM?
Ich bräuchte ne funktion welche mir sagt "Wenn du jetzt noch 5mb in den RAM schiebst, landen 3mb des RAMs auf der HDD in der auslagerungsdatei". Weiß jemand wie ich das hinbekomm?
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| var Memory : TMemoryStatus; begin Memory.dwLength:=SizeOf(Memory); GlobalMemoryStatus(Memory); Result:=Memory.dwAvailPhys; |
So bekomme ich ja z.B. raus wieviel RAM noch zur verfügung steht.. aber wenn die zahl sich der 0 nähert, fängt Windows an auszulagern und sie springt wieder zu 30mb hoch, und das fast endlos oft.. kann also nich einfach testen ob dwAvailPhys <= 0 (oder 5 als toleranz) ist..
Aya~