困惑于“私有字节”!
我们正在使用ANTS性能分析器分析C# .NET应用程序的内存使用情况。以下是我们在主窗体可见的启动后得出的结果。没有使用其他功能。
Gen 0 Heap - 5.8MB
Gen 1 Heap - 2.5MB
Gen 2 Heap - 13.9MB
所有堆中的字节数 - 17MB
大对象堆 - 0.7MB
私有字节 - 130MB
工作集 - 150MB
如果所有堆中的字节数仅为17MB,那么为什么我们有如此大的私有字节分配?私有字节是由系统分配还是从零开始扩展,直到被软件填满?即,私有字节是一个泡泡,实际上可能只被部分使用吗?如果是这样,是什么决定了它的大小?