My application is showing following values for different performance counters.
I have two questions.
I thought # of Bytes in all Heaps represents .net memory usage in all heaps. If that's correct, that should be equal to heap sizes of Gen 0, 1, 2 and large object heap which is not the case here.
Reserve bytes represents the available memory that .net uses to fulfil next allocation requirements. In that case shouldn't reserved bytes always be greater than committed bytes which is not the case here.
Can someone please explain what am I misunderstanding here?
Question 1
According to Microsoft documentation:
So the
#Bytes in all Heaps
is equal toGen 1 heap size
,Gen 2 heap size
andLarge Object heap size
. You can do the math.Question 2
Again quoting Microsoft documentation :
So
# Total committed Bytes
is the total amount of memory currently used and# Total reserved Bytes
is the memory reserved that is not yet commited (stored physically).The way I understand this is that reserved bytes are ready for you but physical storage is not yet ready to receive your data.