.NET工具

dotmemory独立2021.3 - 32位版本弃用

从下一个DOTMEMORY独立启动2021.3发布,我们将不再运送32位(x86)版本。在32位操作系统上,您可以使用使用的快照dotmemory命令行工具,并在64位操作系统上使用DotMemory分析它们。

在这个博客文章中,我们将解释为什么我们正在进行这种变化,以及它对您的意义。

为什么这变化?

要分析内存快照,DotMemory严重依赖内存映射的文件。他们带来了许多好处:

  • 高性能I / O操作。操作系统从磁盘存储和加载快照数据,这在分析快照数据时提供了最佳性能。
  • 高性能阵列行走操作。我们的大部分分析都是基于在快照中行走数据。能够在原始内存上运行,确保有最小的开销。
  • 减少垃圾收集(GC)压力。.NET GC不适合使用大型数组。通过将它们移动到本地内存中,垃圾收集器不必跟踪该内存,这导致更好地表现dotMemory的其他部分。

但是,使用内存映射文件的缺点:需要大量的地址空间。在32位操作系统上,这意味着DotMemory被限制在它可以做的事情中。

在64位操作系统上,地址空间几乎无限制。理论上,大约18个exabytes.。即使我们的电脑内存无处到那个理论限制,具有64位的地址空间,让Dotmemory分析复杂的对象图,其中数百万个物体!

同时,自从Windows 7以来,使用32位版本的Windows正在下降。这蒸汽硬件调查显示大多数Windows用户都在64位版本的操作系统上。自从2020年5月更新Windows 10,Microsoft开始为某些客户组(OEM)进行淘汰32位版本的操作系统。随着新宣布的Windows 11,系统要求不再提及32位(x86)的操作系统版本。

结合这两个原因,更新DOTMemory独立的要求是一个逻辑的下一步。从DotMemory Standalone 2021.3开始,我们将不再运送32位(x86)版本。

通过支持64位操作系统,我们的Profiler可以更好地利用可用的系统资源,并在分析快照时提供更畅柔性的体验。

这对我意味着什么?

如果您是在64位操作系统上运行的分析应用程序,或者您正在分析64位操作系统上的快照,您已经使用了64位版本的DotMemory,并且您不会受到此更改的影响。

当您在64位操作系统上运行32位进程时,可以使用64位版本的DotMemory Standalone 2021.3来捕获和分析快照。

如果您在32位操作系统上运行的应用程序,则可以使用dotmemory命令行工具要捕获快照,然后使用64位版本的DotMemory独立2021.3分析它们。如果这不是一个选项,则可以使用现有版本的dotmemory独立

如果此更改会影响您当前的工作流程,请联系!

发现更多