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?

InformationsquelleAutor pj4533 | 2010-03-30
Schreibe einen Kommentar