gpt4 book ai didi

jprofiler - 如何在 Linux 系统上进行 Jprofile(无 GUI)

转载 作者:行者123 更新时间:2023-12-03 20:52:23 42 4
gpt4 key购买 nike

我有安装 jprofiler 的 Linux 系统。

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

我的查询是:

  • 如何在没有 GUI 干预的情况下自动化整个 jprofile 过程?
  • 启动 jprofiling 时,在 100 个请求提交给客户端之前还是之后?
  • 在 Linux 系统中安装 jprofiler 后,我没有找到 config.xml (/root/.jprofiler8)。如何创建它?
  • 如何在没有 GUI 的情况下创建 session ?

  • 为了分析 jprofiler 输出,我将在窗口系统上复制并使用 GUI jprofiler。

    提前致谢,

    编辑 1

    我可以从下面自动执行分析过程的步骤 4 和 5。以下所有步骤是否正确?
  • 按照您在回复中的建议使用 GUI 配置 session ( session ->集成向导->新远程集成)
  • 正如您在回复中建议的那样,使用 GUI 导出 session ( session ->导出 session 设置)。
  • 将 config.xml 从窗口复制到运行 jvm 的 Linux。
  • 在 linux 系统中运行 jpenable,如下所示:
    jpenable --pid=8568 --noinput --offline --config=/home/myuser/config.xml --id=106
  • 在 Linux 系统中运行 jpcontroller,如下所示并保存快照:
    jp Controller 8568
  • 将 Linux 系统的快照输出复制到窗口并使用 jprofiler 打开快照( session -> 打开快照)以进行进一步分析。

  • 编辑 2

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

    session -> 启动中心 -> 选择并启动 session (例如 id="138"name="Remote application on linux1")

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

    替换并执行步骤 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 -类路径/opt/jprofiler8/bin/agent.jar -jar/opt/myapp.jar

    JProfiler> 离线分析模式。

    JProfiler> 协议(protocol)版本 41

    JProfiler> 使用 JVMTI

    JProfiler> 检测到 JVMTI 版本 1.1。

    JProfiler> 64 位库

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

    JProfiler> 监听端口:8849。

    JProfiler> 检测 native 方法。

    JProfiler> 可以重新转换类。

    JProfiler> 可以重新转换任何类。

    JProfiler> native 库已初始化

    JProfiler> 虚拟机初始化

    JProfiler> 使用动态检测

    JProfiler> 时间测量:耗时

    JProfiler> CPU 分析已启用

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

    MyApp 已启动

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

    第1步:
    转至 Linux jprofiler

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

    选择一个 JVM:

    myapp.jar [29389] [1]

    myapp2.jar [29228] [2]

    1
    请选择分析模式:

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

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

    1
    请输入分析端口

    [31757]

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

    第2步:
    转至 窗口 jprofiler

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

    最佳答案

    您无法在没有 GUI 的情况下创建触发器。这个想法是通过调用在桌面机器上本地配置 session

    Session->Integration Wizards->New Remote Integration

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

    之后,通过调用导出 session
    Session->Export Session Settings

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

    关于jprofiler - 如何在 Linux 系统上进行 Jprofile(无 GUI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26751876/

    42 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com