问题标签 [jstat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
garbage-collection - 查找正在运行的实例的 VMID
我有一个在 tomcat 上运行的 webapp,我想在运行时使用 jstat 查看垃圾收集。
我有命令:
我怎样才能找到它vmid
是什么?
java - 当被 jstat -gc -t 监控时,Tomcat 的 gc 时间戳停止增加
在 oracle 热点 jdk 1.7.0_7 上运行 tomcat 7.0.32 我得到了这个特殊的输出。
我希望查明内存泄漏,所以我运行了jstat -gc -t 2000
. 起初一切看起来都很合理。我每隔 2 秒就会换一条新线。但在某些时候,时间戳列开始变得奇怪。它会在 1 秒后返回,然后在 5 秒后返回,然后在 2 秒后,然后在 7 秒后,直到它到达时间戳 518058.9 时,它最终会说“Screwit。你有足够的数据,儿子。继续努力吧。Imma call it a day。”
奇怪?为什么会这样?我被迫重新启动实例。
可能存在数据库错误并且 c3p0正在哭死,但这不应该阻止 jvm 报告 gc 利用率吗?正确的?实际上 - 不要停止报告它,只是停止增加时间戳。
jstat输出:
ruby-on-rails - 尝试安装 jStat - 我需要 GNU 还是 GSL
我正在开发一个 Ruby-on_rails 应用程序,现在需要进行一些统计处理。我希望使用 jStat。在此页面上,它列出了三个依赖项,包括 GNU make 3.8 或更高版本。尝试下载安装,失败。我应该按照说明安装 GNU,还是假设它是一个 RoR 项目,请使用 GSL,它是 GNU 科学库/数学包的 ruby 端口。谢谢
java - Java 堆:什么限制了老年代的最大容量?
我正在调查一个 EE 应用程序的性能问题,这可能是由于垃圾收集器没有优化调整造成的。
在查看jstat
我在重负载下收集的日志时,我偶然发现了以下发现:
根据这里的官方 jstat 文档,我们可以看到当前的老年代大小 ( OGC ) 已经达到了最大老年代大小 ( OGCMX )。然而,第一行告诉我们“旧空间利用率占空间当前容量的百分比”(O)“仅”为 88%。
我的问题是:
- 什么机制将老一代限制设置为 jstat 输出中的 OGCMX?
- 是什么阻止旧空间增长并用完剩余的约 12% 的堆?
我们有 JVM 参数,用于设置总堆、新空间和永久空间 ( -Xms -Xmx -XX:NewSize -XX:MaxNewSize -XX:PermSize -XX:MaxPermSize
) 的最小/最大值。但是对旧空间没有设置限制(我不知道这些参数是否存在)。
关于NewRatio的编辑:
这是我的理解,这里也提到JVM 不会强制执行新旧空间之间的比率,尤其是在MaxNewSize
使用参数的情况下。并且该MaxNewSize
参数被接受,因为上面的值 (301056.0KB) 实际上正是我们指定的 294MB MaxNewSize
。此外,NewRatio 的默认值为2(参见此处),这根本不是 jstat 列出的上述任何值之间的比率。
java - Excessive jstat "Class Loader Time"
Our Java-based server application is reporting an unusually high class loader time:
This is on a server that had been running ~8 hours. jstat reports it has spent 17,769s (~4h56m!) doing class loading, and about 0.5-0.6 extra seconds every second! We've been tracking a performance issue and this is our best candidate for a culprit. Just to be sure, we checked our other Java services: jstat showed a very low value in the Time
column (a few seconds, even after having run for hours)
Our code doesn't do constant class loading, but we can't rule out a misbehaving 3rd party library. We enabled -verbose:gc
hoping to diagnose the problem. But once our server loads all of its classes (within a minute or so of heavy traffic) the verbose class log became quiet -- we were half-expecting to see a flurry of activity given the jstat data.
My questions would be:
- Is this really indicative of a problem?
- If so, what else could be done to diagnose it?
Would really appreciate any suggestions.
java - 如何使用 jstat 获取非堆“代码缓存”详细信息
我想从我的 windows 机器上找到在 windows 上运行的远程 JVM (JDK 8)的非堆内存 代码缓存详细信息。我可以使用jconsole获取详细信息。但是,我需要的是使用jstat命令获取值。GUI 监控工具不符合我的目的。谢谢
java - 为什么在linux上更新java后jstat不起作用?
将 Java 更新1.7.0.71
为后1.7.0_75
,jstat
不再工作。我试图停止应用程序,删除/tmp/hsperfdata_*
并重新启动应用程序,但/tmp/hsperfdata_*
不存在并且jstat
失败了。
这可能是最新 Java 更新中的错误吗?
java - 如何检查加载了多少类以及它们将占用多少空间?
我计划迁移到 Java 8,然后我想检查我的项目中加载了多少类,更重要的是它们将占用多少空间,以便我可以相应地调整和配置元空间。
我知道我可以使用jstat来达到这个目的,但不确定我需要什么样的参数才能得到我想要的结果。
java - Jstat 收集不正确的指标
我正在使用 jstat 收集 jvm 指标并通过 collectd 将它们推送到石墨。几天前,我注意到关于旧空间的图表中有“峰值”,但这些并没有触发任何完整的 GC,这让我认为该指标已关闭。所以我开始查看 jstat 的输出,寻找这样的指标来弹出,这里是:
正如你所看到的,我的旧空间正在正常增加,只是“峰值”到 99.93%,没有触发任何完整的 GC,然后立即恢复到正常指标。
所以我想知道是否有什么问题或者它只是一个不正确的迭代。
谢谢 !
jstat - 无法启动 jstatd.exe 远程监控应用程序?
祝大家有美好的一天。
我想使用 jstatd 来监控 JVM、GC、Heap 和一些在远程机器上运行的应用程序的一些重要指标。
当我尝试jstatd.exe
通过命令行从 java 路径的 bin 文件夹执行命令时,出现以下错误:
当我们在互联网上检查这个错误时,我们知道,我们必须添加一些安全文件,链接中提到 无法启动 jstatd 由于权限错误。但是,我们仍然遇到同样的错误。
任何人都可以帮助我们解决这个问题。
提前致谢。