我遇到了一个问题,我的应用程序可以正常运行几个小时,但突然间会增加内存使用量(几分钟内),直至崩溃。如果我们在增加内存使用量的过程中最小化应用程序,内存就会下降并停留一段时间。这似乎很不一致。任何想法如何解决它/原因可能是什么?突然的内存过度使用
3
A
回答
0
我们需要更多信息,比如您是否使用任何资源,如数据库连接。 你是否使用using语句或最后尝试catch来确保你的db连接被清除了?
它是基于文件资源的应用程序吗?我们需要更多信息,可能还有示例代码?
2
有很多工具可以帮助您检测这类问题。试试ANTS Memory Profiler或WinDbg + SOS。
ANTS允许您拍摄快照并进行比较。这将帮助您找出正在占用额外内存的内容。
WinDbg允许您检查堆。 !dumpheap命令很有用。查找意外数量的实例。要检查GC为什么不回收对象,请使用!gcroot命令。有关WinDBg + SOS的更多信息,请参阅Tess' blog。
0
你必须让内存的敲钉器/调试器来缩小研究
1
您正在寻找在错误的内存诊断,如果你看到它时,你最小化应用程序的主窗口显著下降。这是工作集,即映射到RAM的虚拟内存量。工作集总是可变的,它主要取决于其他进程正在运行,并且需要将自己的页面映射到RAM。当应用程序耗尽空闲虚拟内存时,该应用程序会轰炸OOM,这是一个完全不同的数字。
是的,使用良好的内存分析器来避免做出无助于诊断问题的结论。
相关问题
- 1. mongodb内存使用突然激增
- 2. 为什么node.js突然使用更少的内存?
- 3. FastMM突然报告Graphics32内存泄漏
- 4. 由java过度使用内存
- 5. Eclipse和Android过度使用内存
- 6. .NET应用程序的经验突然非托管内存
- 7. 应用程序突然关闭时的堆内存清除
- 8. SVN仍然存在冲突?
- 9. mysql内部连接语句和内存过度使用!
- 10. 内存消耗过度++应用
- 11. 云存储中的图像突然无法通过images.get_serving_url(blob_key)
- 12. LinearLayout内部的ListView突然出现(Android)
- 13. Numpy突然使用所有的CPU
- 14. 字符串长度突然变化
- 15. 团结Rigidbody2D速度突然冻结
- 16. 使用存取突变的
- 17. 通过内存+ eval提高速度或使用常规文件
- 18. 节点异步循环 - 为什么内存会突然增大并突然下降?
- 19. Apache Archiva内部仓库突然挂了
- 20. Matplotlib中过多的内存使用imshow
- 21. C#在%%中使用过的内存
- 22. 超过数组长度后仍然存储用户输入
- 23. 角度的应用程序突然停止在铬上工作
- 24. 突如其来的内存峰值,而使用的UIImage为CGContextSetFillColorWithColor
- 25. 使用git时突然发现错误
- 26. txtProgressBar突然停止使用样式= 3
- 27. 设计突然不能使用Rails 5
- 28. Amazon Aurora突然使用错误索引
- 29. Git存储库突然中断
- 30. Laravel会话突然没有被保存
没有数据库或文件。但是,我们使用很多BackgroundWorker线程来处理非UI工作。 – Sadhana 2010-02-19 15:28:52