了解.NET应用程序内存大小

本文关键字:内存 应用程序 NET 了解 | 更新日期: 2023-09-27 18:01:08

我正在处理的应用程序在启动后会占用338MB的专用字节和780MB的虚拟字节。我正在努力理解是什么夺走了我所有的记忆。希望在了解之后,我能够缩小它的尺寸。这是一个32位的C#应用程序,上面的数字是在Windows7 64位中运行时获得的。

用windbg打开一个转储显示堆大小为47MB。应用程序正在加载的外部库文件的总大小为60MB。

一个空的c#应用程序只需要10MB,那么是什么原因导致我的应用程序达到338MB的专用字节呢?为什么windows7会分配780MB的虚拟内存?

任何指示都会有所帮助。

了解.NET应用程序内存大小

您可以使用VMMap,一个进程虚拟和物理内存分析实用程序来自technet站点上的CCD_ 1。

VMMap显示了进程提交的虚拟内存类型的细分,以及操作系统分配给这些类型的物理内存(工作集(的数量。除了内存使用情况的图形表示外,VMMap还显示了摘要信息和详细的进程内存映射。强大的过滤和刷新功能使您能够确定进程内存使用的来源以及应用程序功能的内存成本。

除了用于分析实时流程的灵活视图外,VMMap还支持以多种形式导出数据,包括保留所有信息的本地格式,以便您可以重新加载。它还包括启用脚本场景的命令行选项。

VMMap是希望了解和优化应用程序内存资源使用情况的开发人员的理想工具