3

我在开发 JAVA 方面相对缺乏经验,我希望能得到一些建议。

我有一个模块化的 JAVA 服务器应用程序设置,其中一个高级服务充当与 8 个较低级别服务通信的前端接口。

在生产中,每个服务都托管在自己的机器上。

我正在寻找一个标准的 SE 开发环境,它在本地启动所有实例。我目前正在使用 eclipse 和 JVMmonitor。

我目前的工作流程涉及手动启动每个服务,然后通过eclipse手动触发每个服务的监控过程。这个工作流程可以完成工作,但我确信有人遇到过更智能的解决方案。大多数论坛帖子只解决监控一个java实例。

还有其他任何人会建议的独立 JAVA 应用程序吗?如果可能,我想避免添加分析代码。

4

2 回答 2

3

大多数分析器允许您分析 JVM,而无需手动启动分析器。

例如,JProfiler将此称为“离线分析”,而 JProfiler GUI 中的集成向导有一个选项:

在此处输入图像描述

免责声明:我公司开发 JProfiler。

于 2013-04-08T11:22:02.403 回答
1

使用visualVM。您可以从您的本地计算机配置文件到不同的服务器。 http://docs.oracle.com/javase/6/docs/technotes/guides/visualvm/applications_remote.html要在不同服务器中进行分析,您需要定义 jstatd.all.policy 文件。例如,如果您想监控不同的服务器,比如 s1,s2,s3,那么在 s1,s2,s3 服务器中定义 jstatd.all.policy 文件并运行 statd - Virtual Machine jstat Daemon。然后从您的本地计算机上您可以监控 3 s1 ,s2,s3 服务器。

在很容易配置它。

1.运行visualVm你可以得到ecipe插件。

2.运行 jstatd -J-Djava.security.policy=D:\jstatd.all.policy // 你的 jstatd.all.policy 文件在你的服务器中的位置

3.在 jstatd.all.policy 中定义授权代码库 "file:${java.home}/../lib/tools.jar" {

权限 java.security.AllPermission;

};

4.现在连接到您的服务器并从本地监控。

于 2013-04-08T11:42:02.053 回答