java - 如何在 Java 中分析分布式应用程序?

标签 java profiling distributed

我有一个应用程序在统一的 Java 进程网格上运行(可能在不同的物理机器上)。我想从这个应用程序的单次运行中收集 cpu 使用统计信息。我查看了分析工具以寻找自动收集数据的选项,但未能在 netbeans、tptp、jvisualvm、yorkit 等中找到任何选项。

也许我看错了?

我的想法是:

  • 使用一些允许它们转储分析信息的特殊设置在网格上运行进程
  • 像往常一样运行我的应用程序 - 它会将任务推送到网格,进程将执行任务并发布分析信息
  • 使用一些工具来收集和分析分析结果

但我找不到任何类似的东西。

有什么想法、经验、建议吗?

谢谢!

最佳答案

如果您允许远程 JMX 访问并且您使用的是 SUN JDK 1.6,那么请尝试使用 jvisualvm。它具有远程 JMX 连接的选项。虽然我还没有用它来分析分布式环境中的 CPU。

注意:对于CPU 分析,您的应用程序应该在 SUN JDK 1.6 或更高版本上运行。

enter image description here

查看这些链接:

  1. JVisualVM
  2. JVisualVM - Working with Remote Applications
  3. Get heap dump from a remote application in Java using JVisualVM
  4. Unable to profile JBoss 5 using jvisualvm
  5. http://www.taranfx.com/java-visualvm

关于java - 如何在 Java 中分析分布式应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5755641/

相关文章:

java - 无法使用 Intent 调用其他 Activity

python - 分析时 TensorFlow 中的 NoOp 是什么?

javascript - 在不让浏览器崩溃的情况下分析 JavaScript

java - 我在android studio中打错电话了吗?

java - 第 1 行 'Key (publickey) VALUES (_binary' 0?Ÿ0\r *†H†÷\r\0??\00????\0' 附近的 MySQL 语法错误

c - UDP 缓冲区溢出而没有填充接收缓冲区?

.net - 可靠(耐用)的分布式日志记录引擎

java - 什么情况会导致 Java 线程意外返回?

java - Android App 无法启动 Activity ComponentInfo

c# - dotTrace 在 PipelineRuntime.ProcessRequestNotification 中显示大量时间不明