被私有字节搞糊涂了!
目前正在使用 ANTS 分析器分析我们的 C# .NET 应用程序的内存使用情况。以下是我们在屏幕上可见的主窗体启动后的发现。没有使用其他功能。
Gen 0 堆 - 5.8MB
Gen 1 堆 - 2.5MB
Gen 2 堆 - 所有堆中的 13.9MB
字节 - 17MB
大对象堆 - 0.7MB
私有字节 - 130MB
工作集 - 150MB
如果所有堆中的字节只有 17MB,为什么我们有这么大的私有字节分配?私有字节是由系统分配的,还是在软件填充时从零开始扩展?即私有字节是一个实际上可能只被部分使用的泡沫吗?如果是这样,是什么决定了它的大小?