JProfiler? ?是一款功能强大的Java代码分析工具,JProfiler的直观UI可帮助您解决性能瓶颈,确定内存泄漏并了解线程问题且JProfiler? ?Mac破解版配置会话非常简单,第三方集成使得入门变得轻而易举,并且以自然的方式呈现数据分析。
?
当无法建立分析会话时,首先要做的是查看分析的应用程序或应用程序服务器的终端输出。对于应用程序服务器,stderr 流通常写入日志文件。这可能是一个单独的日志文件,而不是应用程序服务器的主日志文件。例如,Websphere 应用程序服务器写入一个native_stderr.log
仅包含 stderr 输出的文件。根据 stderr 输出的内容,问题的搜索会采取不同的方向:
如果 stderr 包含"Waiting for connection ..."
,则分析的应用程序的配置正常。那么问题可能与以下问题有关:
-agentpath:<path to jprofilerti library>=port=25000
,将使用端口 25000。如果 stderr 包含有关无法绑定套接字的错误消息,则该端口已在使用中。在这种情况下,请检查以下问题:
如果 stderr 中没有以 为前缀的行,JProfiler>
并且您的应用程序或应用程序服务器正常启动,则-agentpath:[path to jprofilerti library]
?VM 参数尚未包含在 Java 调用中。您应该找出启动脚本中实际执行的 java 调用,并在其中添加 VM 参数。
当附加到正在运行的 JVM 时,有时您可能在所有 JVM 列表中看不到感兴趣的 JVM。要找到此问题的原因,了解附加机制的工作原理非常重要。当JVM启动时,它会将PID文件写入到hsperfdata_$USER
它发现的临时目录中的目录中。只有同一用户或管理员用户才能附加到 JVM。JProfiler 可以帮助您以管理员用户身份连接到 JVM。
在 Windows 上,使用“显示服务”按钮显示所有 JVM 服务进程。JProfiler 安装一个将使用系统帐户运行的帮助程序服务,该服务可以连接到使用系统帐户以及配置的用户帐户运行的服务。该服务的名称是“JProfiler helper”,当您单击该按钮时就会安装。您必须确认 UAC 提示才能允许安装该服务。当 JProfiler 退出时,该服务将再次卸载。
在 Linux 上,您可以使用附加对话框中的用户切换器来附加 root 帐户。在分析本地 JVM 以及连接到远程 Linux 或 macOS 计算机时,会显示此用户切换器。对于远程连接情况,您还可以切换到其他非 root 用户。如果您有 root 密码,请始终切换到 root 而不是运行该服务的实际用户。
如果 JVM 在 Linux 上不可见,即使您认为它应该可见,则问题通常与临时目录有关。一种可能是/tmp/hsperfdata_$USER
?目录的访问权限错误。在这种情况下,请删除该目录并重新启动 JVM。要附加的进程必须具有对 /tmp 的写权限,否则不支持附加。
如果您使用systemd,您感兴趣的进程可能已PrivateTmp=yes
?在其 systemd 服务文件中设置。然后pid文件被写入到不同的位置。如果您使用附加对话框中的用户切换器更改为 root 用户,或者如果您以 root 身份使用 CLI 工具,JProfiler 将处理此问题。