20得票3回答
Tomcat部署WebSocket应用后内存逐渐耗尽

我在一个AWS盒子上运行Tomcat 8.5.9,部署了10个不同的WebSocket应用程序,每个应用程序基本上都充当消息代理。https连接器使用Http11NioProtocol协议。我设置的唯一参数是maxThreads = 200以及证书信息。 请求量不是很大。自周一早上以来一直在...

11得票1回答
以编程方式解析内存快照hprof索引文件

我正在尝试以程序化的方式分析hprof文件。 使用android-sdk中的hprof-conv工具,我生成了一堆com.your.package.index文件。 我该如何以编程方式解析这些.index文件? 我想在支配树上运行一些自定义分析,这在MAT(Eclipse的内存分析器)中手...

10得票5回答
Eclipse Memory Analyzer只能查看整个堆转储(8GB)的一小部分(363.2MB)。

我正在尝试调查在高负载下部署在Tomcat中的Web应用程序中发生的java.lang.OutOfMemoryError: GC limit exceeded。堆大小设置为8GB (-Xms2048m -Xmx8192m)。 某个时间点,由于GC活动开销,我们的应用程序变得无响应。我可以在日...

9得票7回答
能否从hprof dump / heap dump 中查看线程?

我有一个大型(5GB)的hprof转储文件,是当应用程序发生OutOfMemoryError时创建的。(使用XX: HeapDumpOnOutOfMemoryError)。不幸的是,在此错误发生时没有收集到任何日志。重新创建将需要几个小时。如果有一些工具可以从hprof中显示异常堆栈跟踪或所有...

8得票2回答
在OQL中获取堆转储中类的静态字段

我有一个堆转储文件,并且我正在使用Eclipse MAT进行分析,不过我想这个方法也适用于VisualVM或者任何OQL客户端。 我们可以通过以下方式选择一个类的所有实例的字段: select s.field1, s.field2 from org.me.MyClass ...但这仅限...

7得票1回答
符合条件的对象计数的OQL语法

我该如何使用OQL语法在Eclipse MAT中计算对象数量? 以下代码不起作用: SELECT count(a) FROM org.hibernate.engine.EntityEntry a WHERE (toString(a.entityName)="my.pojo") (我想要计算...

7得票5回答
如何从Android堆转储中正确查看位图?

在跟踪我的应用程序中的严重内存问题时,我查看了几个来自我的应用程序的堆转储文件,并且大部分时间我都有一个我不知道的巨大位图。 它占用9.4MB,或9,830,400字节,实际上是一个1280x1920像素,每像素4个字节的图像。 我在Eclipse MAT中检查,它确实是一个byte[98...