对于在Windows Server 2008(sp1)上运行的Delphi应用程序,内存是
我们有一个D2007应用程序,在Windows Server 2008(x64,sp1)上运行时,其内存占用量稳步增长.
它在Windows Server 2003(x32或x64),XP等上正常运行…它按预期上下运行. 我们尝试使用随附的内存管理器或最新的FastMM4 4.92,结果相同. 有没有人试图在Win2008上监控任何Delphi应用程序的内存使用情况并确认? 精度: 更新:// ** repaced ** //代码比我们的应用程序简单得多,但显示相同的行为. 更新2:见QC report 73347 //*********************** const CS_NUMBER = 10000000; type TCSArray = Array[1..CS_NUMBER] of TRTLCriticalSection; PCSArray = ^TCSArray; procedure TestStatic; var csArray: PCSArray; idx: Integer; begin New(csArray); for idx := 1 to length(csArray^) do InitializeCriticalSection(csArray^[idx]); for idx := 1 to length(csArray^) do DeleteCriticalSection(csArray^[idx]); Dispose(csArray); end; procedure TestDynamic(const Number: Integer); var csArray: array of TRTLCriticalSection; idx: Integer; begin SetLength(csArray,Number); for idx := Low(csArray) to High(csArray) do InitializeCriticalSection(csArray[idx]); for idx := Low(csArray) to High(csArray) do DeleteCriticalSection(csArray[idx]); end; procedure TForm4.Button1Click(Sender: TObject); begin ReportMemoryLeaksOnShutdown := True; TestStatic; TestDynamic(CS_NUMBER); end;
有一个名为
VMMap的新sysinternals工具可视化分配的内存.也许它可以向你展示大内存块是什么.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |