![]() |
Virtuellen Speicher auslesen
Hallo erstmal,
gibt es eine Möglichkeit, den virtuellen Speicher meiner Anwendung auszulesen. Den normalen Speicherverbrauch kann ich auslesen aber ich benötige zusätzlich den virtuellen. Wäre super wenn ihr mir helfen könntet. MFG Alex |
Re: Virtuellen Speicher auslesen
Also ich denke mal du ließt schon den virtuellen Speicher aus, denn an den Physischen kommst du eh nicht so einfach ran :zwinker:
|
Re: Virtuellen Speicher auslesen
Mit den Fingern kommst du an den physischen Speicher... :angel2:
Delphi-Quellcode:
Das ist der freie phys. Speicher und gesamte physische Speicher. :-D var memory: TMemoryStatus; begin //Memory ausgeben memory.dwLength := SizeOf(memory); GlobalMemoryStatus(memory); x := memory.dwTotalPhys - memory.dwAvailPhys; y := memory.dwTotalPhys; Label1.Caption:=IntToStr(round((x/y)*100))+'% von '+inttostr(Round(y/1024))+' KB'; Da kommt man sehr wohl ran... Ist da etwas virtuell? :gruebel: |
Re: Virtuellen Speicher auslesen
Das was du/dein Programm sieht, ist der virtuelle Speicher :warn:
Windos verteil den physischen Speicher + die PageFile an die Programme und blendet Teile davon in deren virtuellen Speicher ein. Oder hast du dich noch nie gefragt, warum z.B. deine Delphi-Programme immer (standardmäig) an der selben Adresse ($00400000..) liegen, selbst wenn mehrere gleichzeitig geladen sind? |
Re: Virtuellen Speicher auslesen
Moin Go2EITS,
hast Du Dir mal die anderen Teile von MEMORYSTATUS angesehen? Z.b. dwTotalVirtual ;-) |
Re: Virtuellen Speicher auslesen
Hallo,
also ich lese den Speicherverbrauch meiner Anwendung so aus:
Delphi-Quellcode:
Ich will aber zusätzlich noch den virtuellen Speicher.
Wert := 0;
cb := SizeOf(_PROCESS_MEMORY_COUNTERS); GetMem(pmc, cb); pmc^.cb := cb; if GetProcessMemoryInfo(GetCurrentProcess(), pmc, cb) then begin Wert := pmc^.WorkingSetSize; end; Im Taskmanager kann man sich ja noch eine Spalte zu jedem Prozess anzeigen lassen (Größe virtueller Speicher). Diesen Wert würde ich noch gerne haben wollen... Danke schonmal. MFG Alex |
Re: Virtuellen Speicher auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo erstmal,
also MemoryStatus macht mich nicht ganz glücklich. Ich benötige folgenden Wert, den der Taskmanager auch auslesen kann. Siehe ScreenShot. Ich hoffe ihr könnt mir da irgendwie helfen. Wäre echt super, denn ich brauche den Wert... MFG Alex PS: Den ersten Wert (erste Spalte) habe ich bereits. Ich brauche NUR den zweiten |
Re: Virtuellen Speicher auslesen
Zitat:
mit der Type MEMORYSTATUS Hoffe das hilft weiter |
Re: Virtuellen Speicher auslesen
Hallo,
MemoryStatus zeigt mir nur den virtuellen Speicher vom ganzen PC an. dwTotalVirtual oder dwAvailVirtual. Ich brauche aber den Verbrauch dieser Anwendung. Geht das auch mit MemoryStatus? Wenn ja, wie? Ich bekomme es so nicht hin. MFG Alex |
Re: Virtuellen Speicher auslesen
Zitat:
das sind alle Werte welche du über diese API erfahren kannst.
Delphi-Quellcode:
gruß
Public Type MEMORYSTATUS
dwLength As Long dwMemoryLoad As Long dwTotalPhys As Long dwAvailPhys As Long dwTotalPageFile As Long dwAvailPageFile As Long dwTotalVirtual As Long dwAvailVirtual As Long End Type |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz