繁体   English   中英

跟踪Java Web应用程序中的内存不足异常

[英]Track out of memory exception in java web application

我正在使用一个Web应用程序,该应用程序读取文件并为我提供带有行号和其他详细信息的搜索字符串,为此,我正在使用以下技术:

  1. 春季MVC
  2. DWR反向AJAX

FTP和共享位置文件,我正在使用此应用程序阅读。

每次执行搜索时,都会显示“内存不足”异常。 有没有可用的工具可以让我看到代码的哪一部分正造成问题?

我尝试了jConsole,MAT和其他工具,但由于我是性能测试的新手,所以它们看起来都很复杂。

您可以简单地尝试使用jVisualVM,如果您使用的是Java的最新版本,则JDK可以使用jVisualVM。 docs

它将使您能够挂接到正在运行的进程(包括本地应用程序服务器),并生成堆转储以检查什么正在使您的内存变热。

通常,它足以满足大多数低级内存配置/ mem-leak寻找要求。

话虽这么说,MAT可能会让您做完全一样的事情并且具有相似的复杂性,因此我怀疑您可能需要扎紧并阅读一两个关于如何使用它的教程。 该博文对Java应用程序 jVisualVM中的内存泄漏进行了详尽的介绍。

当您使用过多的RAM时,将引发OutOfMemoryError 尝试找出存储大量数据的位置,例如,一个永不清除的列表。

如果找不到错误,请创建一个堆转储。 然后,打开它,看看会打磨您的记忆。 一个很棒的教程在这里: https : //blog.codecentric.de/2011/08/java-heapdumps-erzeugen-und-verstehen-4-akt/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM