【问题标题】:C# Out Of Memory/COMException that happens only on HP Z620 station仅在 HP Z620 工作站上发生的 C# Out Of Memory/COMException
【发布时间】:2013-07-16 08:04:42
【问题描述】:

我们的团队在做一个项目,其目的是创建一个渲染器,它将数据渲染到屏幕上。 我们曾经在具有以下规格的 HP Z600 工作站上工作: 内存:6GB 6核 处理器:Intel(R) Xeon(R) CPU X5650 @ 2.67GHz 2.66GHz 操作系统:Windows 7 32 位 NVIDIA Quadro 4000

现在我们迁移到具有以下规格的更新的 HP Z620 工作站: 内存:12GB 12芯 处理器:Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20 GHz 3.20GHz 操作系统:Windows 7 sp1 64bit NVIDIA Quadro 4000

我们尝试在新站上以 32 位仿真运行我们的 C# 和 c++\cli 代码,我们得到了 Out Of Memory Exception\COMException 真的很快,而我正在查看任务管理器和 我看到应用程序的内存只有 450MB。 异常总是在同一个动作上抛出(但在代码中的不同位置):

new WritableBitmap(width, height, 96, 96, PixelFormats.Bgra32, null)

附加信息:

在旧站 (Z600) 上运行没有问题。 我们尝试在带有 Windows 7 sp1 64Bit 的 Z600 上运行它,它再次运行没有问题。 我发现的另一个问题是一个示例,它使用我们的渲染器在屏幕上渲染“.tif”文件,使用 Z600(Windows 7 32 位或 64 位)渲染后应用程序的内存为 300MB(我是否无关紧要运行应用程序的 .exe 文件或者我通过 Visual Studio 的调试器运行它),但是当我移动到 Z620(Windows 7 64 位)时,从 .exe 文件运行应用程序确实只需要 300MB,但是当我通过 Visual Studio 运行它时(我尝试了 VS 2010 和 VS 2012)内存消耗高达 1000MB(取消选中 Visual Studio 托管过程没有帮助)。

我试图检查为什么会发生这种情况,但经过两天的搜索,我没有找到答案。 有人在 Z620 上遇到过这个问题或类似问题吗? 我希望有人有答案:)

【问题讨论】:

  • 使用 SysInternals 的 VMMap 实用程序查找有问题的加载地址的 DLL。当你有如此优秀的硬件可用时,解决这个问题没有什么意义,构建你的程序的 x64 版本。

标签: c# out-of-memory windows-7-x64 writeablebitmap comexception


【解决方案1】:

【讨论】:

  • 是的,我知道,但我使用的是 .Net 4
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-05
  • 2018-08-06
  • 2023-04-01
相关资源
最近更新 更多