Was ist der genaue Unterschied zwischen MEM_RESERVE und MEM_COMMIT Staaten?
Wie ich es verstehe MEM_RESERVE ist eigentlich "freien" Speicher, dh verwendet werden, von meinem Prozess, aber noch nicht zugeteilt noch? Oder war es zuvor reserviert hatte, aber da befreit worden?
Speziell, finden Sie in meinem !Adresse Ausgang unten, wie ich bin fast aus dem virtuellen Adressraum (99900 KB frei, 2307872 als MEM_PRIVATE. Aber die Staaten zeigt, dass 44.75% der tatsächlich MEM_RESERVE. Heißt das, dass es tatsächlich kostenlos ist, in meinem Prozess...aber vielleicht fragmentiert?
0:000> !address -summary
--------- PEB a8bd8000 not found ----
-------------------- Usage SUMMARY --------------------------
TotSize ( KB) Pct(Tots) Pct(Busy) Usage
259af000 ( 616124) : 22.29% 23.12% : RegionUsageIsVAD
618f000 ( 99900) : 03.61% 00.00% : RegionUsageFree
13e22000 ( 325768) : 11.78% 12.22% : RegionUsageImage
42c04000 ( 1093648) : 39.56% 41.04% : RegionUsageStack
42d000 ( 4276) : 00.15% 00.16% : RegionUsageTeb
2625d000 ( 625012) : 22.61% 23.45% : RegionUsageHeap
0 ( 0) : 00.00% 00.00% : RegionUsagePageHeap
0 ( 0) : 00.00% 00.00% : RegionUsagePeb
1000 ( 4) : 00.00% 00.00% : RegionUsageProcessParametrs
1000 ( 4) : 00.00% 00.00% : RegionUsageEnvironmentBlock
Tot: a8bf0000 (2764736 KB) Busy: a2a61000 (2664836 KB)
-------------------- Type SUMMARY --------------------------
TotSize ( KB) Pct(Tots) Usage
618f000 ( 99900) : 03.61% : <free>
13e22000 ( 325768) : 11.78% : MEM_IMAGE
1e77000 ( 31196) : 01.13% : MEM_MAPPED
8cdc8000 ( 2307872) : 83.48% : MEM_PRIVATE
-------------------- State SUMMARY --------------------------
TotSize ( KB) Pct(Tots) Usage
57235000 ( 1427668) : 51.64% : MEM_COMMIT
618f000 ( 99900) : 03.61% : MEM_FREE
4b82c000 ( 1237168) : 44.75% : MEM_RESERVE
Largest free region: Base 7e4a1000 - Size 000ff000 (1020 KB)
FOLLOW-UP:
So, in Bezug auf mein Beispiel dieses Prozesses ist die Berichterstattung 'out of memory', aber eigentlich KÖNNTE es Zuteilungen, aber jemand MEM_RESERVED mehr als nötig an diesem Punkt verhindert werden, dass jemand anderes in der Lage zu reservieren?
Du musst angemeldet sein, um einen Kommentar abzugeben.
MEM_RESERVE zugeordnet ist, durch den Prozess. I. e. der Adressraum ist als in verwenden. Es hat jedoch nicht verpflichtet gewesen. Um tatsächlich mit dem Speicher für die Lagerung, es müssen verpflichtet werden. Mark Russinovich hat dazu einen hervorragenden Beitrag, das beschreibt alle details. Von der post