在工作中,我们发现在某些情况下(特别是较慢的情况下),我们具有不同的行为,这种行为是在重新启动后获得的。
我们猜测缓存没有正确初始化,或者可能存在并发问题... 无论如何,在生产环境之外无法重现。
我们实际上没有激活日志记录器... 这是一个旧组件...
因此,我想知道是否有工具可以帮助我们查看JVM内存中存在的不同对象,以便检查缓存的内容...
谢谢!
编辑:我没有直接访问生产服务器的权限,我们的应用程序服务器是weblogic 10,我没有指向对象的指针,但我知道缓存对象类型...
编辑2:我们的服务器正在运行jre 1.5,是否可以使用jmap?在jdk5中找不到它:(同时,由于安全原因,我们不能进行远程调试...
编辑3:实际上,jhat + VisualVM对我来说很好,我在转储中找到了我的对象,但我无法正确阅读hashmap(包含约60000个项的对象)... 是否有一种友好的方法来读取concurrenthashmap的工具?我需要查找键的值(或其在映射中的存在),而无需手动浏览60k条记录。实际上,我在eclipse MAT论坛上读到,它也无法实现...
编辑4:经过一些实验,我真的很喜欢像VisualVM这样的工具。我还使用了YourKit。有一些有用的功能,比如OQL可以找到您需要查看的正确实例...
我们猜测缓存没有正确初始化,或者可能存在并发问题... 无论如何,在生产环境之外无法重现。
我们实际上没有激活日志记录器... 这是一个旧组件...
因此,我想知道是否有工具可以帮助我们查看JVM内存中存在的不同对象,以便检查缓存的内容...
谢谢!
编辑:我没有直接访问生产服务器的权限,我们的应用程序服务器是weblogic 10,我没有指向对象的指针,但我知道缓存对象类型...
编辑2:我们的服务器正在运行jre 1.5,是否可以使用jmap?在jdk5中找不到它:(同时,由于安全原因,我们不能进行远程调试...
编辑3:实际上,jhat + VisualVM对我来说很好,我在转储中找到了我的对象,但我无法正确阅读hashmap(包含约60000个项的对象)... 是否有一种友好的方法来读取concurrenthashmap的工具?我需要查找键的值(或其在映射中的存在),而无需手动浏览60k条记录。实际上,我在eclipse MAT论坛上读到,它也无法实现...
编辑4:经过一些实验,我真的很喜欢像VisualVM这样的工具。我还使用了YourKit。有一些有用的功能,比如OQL可以找到您需要查看的正确实例...