在工作中,我们发现在某些情况下(特别是缓慢的情况下),我们有不同的行为,在重启时获得。我们可以查看JVM内存中的对象吗?
我们猜测一个缓存没有被正确初始化,或者是一个并发问题...... 无论如何,它在任何其他环境中都不能再生产。
我们居然没有记录器激活...这是一个旧的组件...
因此,我想知道是否有工具,可以帮助我们看到存在于不同OBJETS JVM内存以检查缓存内容...
谢谢!
编辑:
我没有访问生产服务器直接,我们的应用程序服务器的WebLogic 10,我没有一个指向对象的指针,但我知道缓存对象类型.. 。
EDIT2:
我们的服务器上JRE 1.5上运行,是有可能使用JMAP?在JDK5无法找到它:( 此外,远程调试可能是好的,但我们不能出于安全考虑......
EDIT3:
其实+与jHat VisualVM的是确定对我来说,我发现我的对象在转储中,但我无法正确读取hashmap(包含大约60000项的对象)... 是否有工具以友好的方式读取同时发生的映射?我需要找到一个键的值(或其在地图中的存在),而没有手动浏览60k记录 其实我在eclipse MAT论坛上读到它也不可能用它...
编辑4: 经过一些经验,我真的很喜欢像VisualVM这样的工具。也使用YourKit。 有一些有用的功能,如OQL找到您需要查看的正确实例...
我不知道如何在没有某种指针/变量引用的情况下访问对象。 – aperkins 2010-05-11 17:32:37