当前位置: 首页 > 知识库问答 >
问题:

选择容器后JProfiler远程进程列表为空

宗政法
2023-03-14

我正在使用JProfiler 12,并试图通过SSH连接到Docker容器中的远程JVM进程。我遵循了这里的说明:https://www.ej-technologies.com/products/jprofiler/whatsnew12.html#:~:text=连接到正在运行的JVM

在我不得不选择流程之前,一切都很顺利。列表为空。没有错误消息。

我在任何地方都找不到这样的问题。我发现其他人有文件夹权限问题,但这不是我的问题,因为我是以root身份连接的。即使我将文件夹权限修改为777,它仍然什么也不做。

这是我得到的:

这是我应该得到的:

[2021 10月1日更新]

一个问题是我使用了Kubernetes pod securityContext和readOnlyRootFilesystem,allowPrivilegeEscalation,并删除了一些功能。当我删除这些,我可以看到过程。但是,当我单击“打开”时,它会失败,并出现以下错误:

这似乎表明我使用了错误的用户(root)。但当我切换到该用户时,在我甚至可以选择容器之前就出现了这个错误:

所以现在我早一步卡住了。

共有1个答案

沈良策
2023-03-14

我想出了一个解决办法。

当你使用

securityContext:
  readOnlyRootFilesystem: true
  allowPrivilegeEscalation: false
  capabilities:
    drop:
      - <...capabilities...

spec:
  securityContext:
    runAsUser: <user id>
    runAsGroup: <group id>
    fsGroup: <id>

那么JProfiler无法连接到您的容器。所以,摆脱这一切。您甚至可以在运行时执行此操作,而无需通过编辑Kubernetes部署来删除这些项来重建容器映像。

 类似资料:
  • 嗨,我对Jprofiler很陌生

  • 有没有办法启用触发器以在计时器上保存快照?到目前为止,我还没有成功地将其用于远程连接。 它在本地连接上按预期工作。

  • 如何将运行在笔记本电脑中的Jprofiler UI连接到运行在远程服务器中的mule服务器。我在服务器盒中远程安装了jprofiler,并试图运行jpenable以连接到mule服务器,但它无法。这是我得到的错误。

  • 我试图在离线模式下使用JPfroler分析运行在Linux机器上的远程服务器。我创建了一个堆使用阈值触发器,操作为“保存快照”和“触发堆转储”。然后我向服务器添加了以下JAVA_OPTIONS配置。 我的问题是如何检索触发器生成的快照和堆转储文件?是否有一个位置可以在远程服务器中查找这些文件?非常感谢您的回答。

  • 我正在Ubuntu 18.04服务器上用OpenJDK 11运行Tomcat 9(作为用户)。我希望能够将JProfiler 11连接到Tomcat进程。 在过去,我只是使用这个选项通过ssh连接到远程JVM,而JProfiler可以定位进程。在这台机器上,JProfiler从未找到Tomcat进程。 我尝试使用su和sudo选项切换到tomcat用户。我甚至启用了直接作为tomcat登录。无论如

  • 我正在尝试使用JProfiler分析远程主机/服务器上的Web应用程序,但该过程似乎比我想象的要复杂。 我已经设法在我的开发工作副本上本地评测了,但结果在那里没有用处。 有没有一种方法可以将JProfiler连接到该服务器,而无需将其安装在远程机器/服务器上,因为这不是我拥有的选项。类似于远程调试,我在其中配置主机和端口并连接。 提前感谢!