Tag: jvisualvm

jVisualVM的内存检查器中“保留大小”是什么意思?

摘要选项卡上的Jvisualvm堆转储具有按保留大小检查bigest对象的function。 保留的真正含义是什么? 如何计算和显示对象树的大小? 如果我可以在这里看到对象(10M)和它的成员对象(5M)我应该如何计算堆影响。 他们两个都花了10M或15M的堆? 为什么我看不到我们的门面巨大的应用程序对象? 谢谢。

JVisualVM内存采样:不支持远程应用程序

我正在尝试使用Red Hat Linux中的JVisualVM监视远程tomcat进程。 CPU采样工作正常但内存采样选项卡已禁用。 它说“内存采样:不可用。不支持远程应用程序” 。 进程的命令行参数: -Djavac.source=1.5 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=11107 JVisualVm详细信息: Version: 1.6.0_24 (Build 100930); platform 100909-1140d3a55456 System: Linux (2.6.18-53.1.14.el5) , i386 32bit Java: 1.6.0_24; Java HotSpot(TM) Client VM (19.1-b02, mixed mode) 有什么我想念的东西。 我对这一切都很陌生。

Tomcat 6和Tomcat 8中使用Java 1.8的内存分配行为

相关问题: 从Java 6 + Tomcat 6升级到Java 8 + Tomcat 8时的垃圾收集器使用情况 我有一组用Java 8编译的webapps。如果我在Tomcat 8中运行它们,我会得到许多带有随机内存分配的次要GC集合。 在Tomcat 6中,内存分配更加线性和稳定(两种情况下都是空闲,没有流量)。 伊甸园空间雄猫8: 伊甸园空间雄猫6: 你知道为什么会这样吗? 编辑1: 这些是来自生产环境的数据,包括jdk 1.8和Tomcat 8.由于GC循环,CPU几乎总是很高。 对此有何评论? 编辑2: 这是一个heapdump analisis(1.8GB转储):

如何在Windows Server 2008下的本地系统帐户下运行jvisualvm.exe?

我一直在寻找一种类似于Windows Server 2003的方法,用于在系统帐户下启动jvisualvm。 但是我得到了错误: …\jdk1.6.0_24\bin\jvisualvm.exe exited on … with error code -1073741819. 我发现jvisualvm正在使用配置文件: …\jdk1.6.0_24\lib\visualvm\etc\visualvm.conf 此配置文件包含指向${HOME}/…的default_userdir属性。 系统帐户似乎与${HOME}有问题。 更改此参数并将${HOME}替换${HOME} C:/Temp使得上述解决方案也可用于Windows Server 2008 R2。

增加jvisualVM OQL结果集的最大大小

我有一个内存转储文件,它有近5000个特定对象的实例。 这些对象将被写入数据库,我这样做的方法是在jvisualvm中编写一个OQL查询,以生成一个字符串,用作SQL插入,例如 select “insert into trades (id, tradeNumber) values (“+ x.id+ “, ” + x.tradeNumber +”);” from com.test.application.TradeObject x; 当我通过OQL运行时,我得到一个这样的结果集 – insert into trades (id, tradeNumber) values (1,12345); insert into trades (id, tradeNumber) values (2,123456); insert into trades (id, tradeNumber) values (3,123457); 等等 但是,由于实例总数很大(大约5000),JvisualVM只显示其中的大约100个。 然后出现错误消息“结果太多。请优化您的查询。” 我无法优化查询,因为我必须以这种方式解析所有实例。 有没有办法可以让JvisualVM向我显示所有实例而不限制结果数量? 我还看到Jvisual vm显示了没有任何filter的前100个实例,是否可以通过OQL查询获得接下来的100个实例等等? 谢谢

查看除Jconsole之外的JMX bean的更好选项

JConsole已经安静地查看JMX发布的计数器的错误视图。 还有什么其他选择? 除了实际上使用相同视图的JVisualVM之外,我找不到任何其他内容

在分析的背景下,什么是安全点和安全点轮询?

我面临的情况是我没有看到VisualVM应用程序没有记录某些方法调用。 想找出原因并在SO上遇到这个答案 。 第三点提到了采样方法的潜在问题(这是我看到的唯一选项,可能是因为我正在进行远程分析)。 它提到代码中的安全点和代码本身的安全点轮询 。 这些术语是什么意思?

JVisualVM可以“堆转储”按钮释放内存吗?

我有一个非常奇怪的问题。 我正在开发一个基于Eclipse Equinox的OSGi应用程序; 它是使用OSGi Log Service(Equinox实现)开发的,现在我正在使用Apache Felix OSGi Log Service实现进行测试。 在API /代码方面,一切正常:OSGi日志服务是标准的,所以我可以毫无问题地从Equinox交换到Felix。 但是,我观察到了这种奇怪的行为:我将应用程序作为控制台程序启动,在控制台上查看日志输出,并将JVisualVM连接到它以分析内存使用情况; JVisualVM图显示了一个80 MB的堆。 13个小时后,平均堆大小达到220 MB,所以我决定分析堆转储,并按下“堆转储”按钮:在此操作之后,JVisualVM图显示使用的堆为20(min)-35 (最大)MB(?!?!),这个值是常数。 “堆转储”操作可以释放近200 mbs吗? 如果是,为什么? 我从未在Equinox OSGi Log Service实现中看到这种行为,所以我怀疑Felix Log涉及这个问题…… 谢谢

Java VisualVM在OOME上启用堆转储

根据文档,当应用程序遇到OutOfMemoryException时,可以自动进行堆转储。 OutOfMemoryException过程刚刚从左侧菜单中消失。 这个function在VisualVM中如何工作? 谢谢。 C:\ work \ temp> java -XX:HeapDumpPath = c:/work/temp/file.hprof -XX:+ HeapDumpOnOutOfMemoryError -jar example.jar

远程jvisualvm会话不支持CPU和分析

在监视远程应用程序时(使用jstatd)我既不能分析也不能监视CPU消耗。 堆监控(假设我不使用G1)有效。 jvisualvm提供消息“此JVM不支持”。 在CPU图形窗口中。 我的设置中是否有任何遗漏? 谷歌显示的结果很少。 本地环境(Mac OS X 10.6): java version “1.6.0_15” Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219) Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode) 远程环境(Linux版本2.6.16.27-0.9-smp(gcc版本4.1.0(SUSE Linux))): java version “1.6.0_16” Java(TM) SE Runtime Environment (build 1.6.0_16-b01) Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode) 本地监控按照广告宣传。