Jprofiler 如何在linux系统上创建Jprofile(无GUI)

Jprofiler 如何在linux系统上创建Jprofile(无GUI),jprofiler,Jprofiler,我有安装了jprofiler的Linux系统 我必须同时分析一台运行的服务器和一台位于同一Linux系统上的客户机。我正在从客户端向服务器发送100多个不同的请求 我的问题是: 如何在没有GUI干预的情况下自动化整个jprofile过程 当启动jprofiling时,是在100请求提交给客户端之前还是之后 在Linux系统中安装jprofiler后,我还没有找到config.xml(/root/.jprofiler8)。如何创建它 如何在没有GUI的情况下创建会话 为了分析jprofiler输出

我有安装了jprofiler的Linux系统

我必须同时分析一台运行的服务器和一台位于同一Linux系统上的客户机。我正在从客户端向服务器发送100多个不同的请求

我的问题是:

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

    提前感谢,

    编辑-1

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

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

  • 按照回复中的建议使用GUI导出会话(会话->导出会话设置)

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

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

  • 在Linux系统中运行jpcontroller,如下所示并保存快照: JP8568控制器

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

  • 编辑-2


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

    会话->启动中心->选择并启动会话(例如id=“138”name=“linux1上的远程应用程序”)

    另外,我在Linux系统上运行了“netstat-a | grep8849”,但没有得到任何结果/输出

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

    linux1:/var/opt#su myuser

    myuser@linux1:/var/opt>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已启动

    但是,如果我遵循以下步骤而不是使用我的步骤1-2-3-4-5-6,并且它不离线,我就可以使用JProfiler GUI:

    步骤1: 转到Linuxjprofiler

    myuser@linux1:/opt/jprofiler8/bin>/jpenable

    选择一个JVM:

    myapp.jar[29389][1]

    myapp2.jar[29228][2]

    一, 请选择分析模式:

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

    脱机模式(使用配置文件设置分析设置)[2]

    一, 请输入分析端口

    [31757]

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

    步骤2: 转到窗口jprofiler


    会话->新建会话->[附加(Squire形状按钮)->附加到已分析的JVM(单选按钮)->主机:linux1-->配置文件端口:31757-->确定]

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

    Session->Integration Wizards->New Remote Integration
    
    Session->Export Session Settings
    
    从主菜单。在“启动模式步骤”中选择“配置文件脱机”。向导将为您提供必须在远程端添加的VM参数,并创建一个新会话,您可以在该会话上配置触发器

    之后,通过调用

    Session->Integration Wizards->New Remote Integration
    
    Session->Export Session Settings
    

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

    我必须自动执行整个jprofiler过程及其外观,而无需GUI干预(即shell脚本编写),这是不可能的。如果确实需要GUI干预,那么我将使用类似于Edit-1的方法。可以吗?我不知道你的意思。GUI仅用于配置会话并将其导出到配置文件。分析将完全无人参与。请从我的查询中查看已编辑的部分(即Edit-1),并提出建议。请注意,所有JVM进程都在linux系统上运行,并且没有gui。第一步中的向导将为您提供一个-agentpath VM参数,您可以将该参数添加到启动脚本中。如果这样做,则不需要执行步骤4。第五步相当手工。如果您想自动执行操作,可以使用触发器。请参阅在开始脚本中添加的-agentpath VM参数,而不是使用我的步骤4。现在,我可以启动我创建的会话来使用JProfiler GUI而不是使用步骤5-6吗?选择并启动会话时,我收到连接错误。会话->启动中心->选择并启动会话(例如id=“138”name=“linux1上的远程应用程序”)。请从我的查询中找到有关已编辑零件(即Edit-2)的更多详细信息并提出建议。