如何在Linux系统上使用Jprofiler(无GUI)

时间:2014-11-05 07:36:12

标签: jprofiler

我安装了jprofiler的Linux系统。

我必须将一个正在运行的服务器和一个客户端放在一起,它们位于同一个Linux系统上。我从客户端向服务器发送了100多个不同的请求。

我的查询是:

  1. 如何在没有GUI干预的情况下实现整个jprofile流程的自动化?
  2. 当启动jprofiling时,在100个请求提交给客户端之前或之后?
  3. 在Linux系统中安装jprofiler后,我找不到config.xml(/root/.jprofiler8)。如何创建它?
  4. 如何在没有GUI的情况下创建会话?
  5. 要分析jprofiler输出,我将在窗口系统上复制并使用GUI jprofiler。

    提前致谢,

    修改-1

    我可以从下面自动执行分析过程步骤4和5。以下所有步骤是否正确?

    1. 按照您的建议回复使用GUI配置会话(会话 - >集成向导 - >新远程集成)

    2. 按照您在回复时的建议使用GUI导出会话(会话 - >导出会话设置)。

    3. 将config.xml从窗口复制到运行jvm的Linux。

    4. 在linux系统中运行jpenable,如下所示: jpenable --pid = 8568 --noinput --offline --config = / home / myuser / config.xml --id = 106

    5. 在Linux系统中运行jpcontroller,如下所示:保存快照: jpcontroller 8568

    6. 将快照输出从Linux系统复制到窗口并使用jprofiler打开快照(会话 - >打开快照)进行进一步分析。

    7. 修改-2

      -agentpath VM参数在启动脚本中添加而不是使用我的步骤4.现在,我可以启动创建的会话以使用JProfiler GUI而不是使用我的步骤5-6吗?选择并开始我的会话时,我收到连接错误。

      会话 - >启动中心 - >选择并启动会话(例如id =" 138" name =" linux1和#34上的远程应用程序;)

      另外,我跑了" netstat -a | grep 8849"在Linux系统上但没有得到任何结果/输出。

      替换并执行第4步,如下所示:

      linux1:/ var / opt#su myuser

      为myuser @是linux1:在/ var /选择> java -Xmx2g -agentpath:/opt/jprofiler8/bin/linux-x64/libjprofilerti.so=offline,id=138,config=/home/myuser/.jprofiler8/config.xml -classpath / opt / jprofiler8 / bin / agent .jar -jar /opt/myapp.jar

      的JProfiler>离线分析模式。

      的JProfiler>协议版本41

      的JProfiler>使用JVMTI

      的JProfiler>检测到JVMTI 1.1版。

      的JProfiler> 64位库

      的JProfiler>使用配置文件/home/myuser/.jprofiler8/config.xml(id:138)

      的JProfiler>聆听港口:8849。

      的JProfiler>检测本机方法。

      的JProfiler>可以重新转换类。

      的JProfiler>可以转换任何类。

      的JProfiler>本机库已初始化

      的JProfiler> VM初始化

      的JProfiler>使用动态检测

      的JProfiler>时间测量:经过时间

      的JProfiler>启用CPU分析

      SLF4J:类路径包含多个SLF4J绑定。

      MyApp开始

      但是,我可以使用JProfiler GUI,如果我按照以下步骤而不是使用我的步骤1-2-3-4-5-6并且它没有脱机:

      第1步: 转到 Linux jprofiler

      为myuser @是linux1中:/ opt / jprofiler8 /箱> ./jpenable

      选择JVM:

      myapp.jar [29389] [1]

      myapp2.jar [29228] [2]

      1 请选择性能分析模式:

      GUI模式(使用JProfiler GUI附加)[1,输入]

      离线模式(使用配置文件设置性能分析设置)[2]

      1 请输入分析端口

      [31757]

      您现在可以使用JProfiler GUI连接端口31757

      第2步: 转到窗口 jprofiler

      会话 - >新会话 - > [附加(乡绅形状按钮) - >附加到配置文件的JVM(单选按钮) - >主持人:linux1 - > Profilling端口:31757 - > OK]

1 个答案:

答案 0 :(得分:1)

如果没有GUI,则无法创建触发器。我们的想法是通过调用

在您的桌面计算机上本地配置会话
Session->Integration Wizards->New Remote Integration

从主菜单中。在“启动模式步骤”中选择“配置文件离线”。该向导将为您提供必须在远程端添加的VM参数,并创建一个可以配置触发器的新会话。

之后,通过调用

导出会话
Session->Export Session Settings

从主菜单中将该配置文件复制到远程服务器,并将其复制到您在向导的“配置同步”步骤中指定的目录中。