您好,我正在寻找一个客户端网站的内存泄漏问题。他们正在使用我们的应用程序,随着时间的推移,应用程序会耗尽内存并抛出OutOfMemory异常。在内部复制这个问题并不容易,因为我们将不得不坐上几个小时来复制他们的工作流程。所以我需要在他们的机器上放一个工具(可能是免费的),它应该能够告诉我应用程序和一些生成信息是如何使用内存的。那么,有没有人知道有什么工具可以做到这一点,或者有没有人可以告诉我一个方向,可以帮助我在不分析dev环境中整个应用程序的情况下找到问题呢?
发布于 2011-02-03 03:28:49
假设使用Java,您可以设置-XX:+HeapDumpOnOutOfMemoryError标志,这将导致JVM在抛出内存异常时转储堆。然后,您可以获取转储并通过jhat运行它,以查看内存被分配到哪里。(还有一个基于Eclipse的堆转储分析工具。)我在过去使用过它,并取得了很大的成功。
发布于 2011-02-03 03:37:21
碰巧微软刚刚发布了新的支持.NET 2.0到4.0的CLR Profiler:
David Broman's CLR Profiling API Blog: CLRProfiler V4 Released
这是免费的。
https://stackoverflow.com/questions/4878876
复制相似问题