我可以设置 jhat 或 jmap 等配置文件来定期或在检测到异常时拍摄快照吗

发布于 2024-12-28 13:15:05 字数 132 浏览 1 评论 0原文

所以基本上在我们的例子中,服务器神秘地宕机了,我们经常重新启动它,它开始正常工作。到目前为止,我们还无法建立一个模式。查看线程转储确实有帮助,但我们也想分析内存使用情况。这些工具是否可以设置为定期运行(以便它们定期保存快照)或在检测到异常或崩溃时运行

So basically in our case the server goes down mysteriously and we often restart it and it starts to work fine. Till now we haven't been able to establish a pattern. Looking at thread dump did help but we want to analyse memory usage too. Can these tools be set up to run at regular intervals (so they keep saving snapshots at regular intervals) or whenever it detects an exception or crash

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

删除→记忆 2025-01-04 13:15:05

在 cron 中运行 jmap ?

另一种选择是将 jdb 附加到进程 。它将在未捕获的异常上停止,您可以在该状态下使用 jmap 进行堆转储。不幸的是 jdb 本身不支持进行堆转储。

run jmap in a cron?

Another option is to attach jdb to the process. It will stop on uncaught exception and you can take a heap dump using jmap in that state. Unfortunately jdb itself doesn't support taking a heap dump.

万劫不复 2025-01-04 13:15:05

它不会产生完整的转储,但是jstat可以连续运行以定期提供一段时间内内存的摘要统计信息:

> jstat -gccause -t <JVMID> 60s

例如,每分钟都会生成内存池和垃圾收集统计信息,直到您杀死使用 Ctrl-C 即可。

jstat 可以做的不仅仅是内存和垃圾收集。有关详细信息,请参阅 jstat 联机帮助页:

http://docs .oracle.com/javase/6/docs/technotes/tools/share/jstat.html

It won't produce a complete dump, but jstat can be run continuously to provide sumamry statistics of memory over time at regular intervals:

> jstat -gccause -t <JVMID> 60s

for instance, will produce memory pool and garbage collection statistics every minute until you kill it with Ctrl-C.

jstat can do a lot more than memory and garbage collection. See the jstat manpage for more information:

http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstat.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文