jjzjj

MemoryFailPoint

全部标签

c# - 我怎么知道我是否即将遇到 OutOfMemoryException?

我有一个程序可以处理大量数据,并且可以缓存大部分数据以供内存中的后续记录重复使用。我缓存的越多,它的工作速度就越快。但是,如果我缓存太多,那么会很糟糕,重新开始,这需要更长的时间!异常发生后,我尝试做任何事情都不太成功-我无法获得足够的内存来做任何事情。我也试过分配一个巨大的对象,然后立即取消分配,但结果不一致。也许我做错了什么?无论如何,我所坚持的只是对缓存对象的数量设置一个硬编码限制,根据经验,这个限制似乎足够低。有更好的想法吗?谢谢。回答后编辑下面的代码似乎完全符合我的要求:LoopDimmemFailPointAsMemoryFailPoint=NothingTrymemFai

c# - MemoryFailPoint 始终抛出 InsufficientMemoryException,即使内存可用也是如此

我写了下面的代码来检查内存是否充足,while(true){try{//Checkforavailablememory.memFailPoint=newMemoryFailPoint(250);break;}catch(InsufficientMemoryExceptionex){if(memFailPoint!=null){memFailPoint.Dispose();}Thread.Sleep(waitSecond*1000);}}我在Windows764位计算机上的控制台应用程序中运行上述内容。此方法每10秒调用4次。最初它工作正常,但在2-3小时后,总是抛出Insufficie