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

JProfiler:帮助在远程服务器ubuntu上集成janalyiler的分步指南

周承天
2023-03-14

我正在试着分析一个在ubuntu上运行tomcat7的远程服务器。我已经阅读了多个教程,但无法运行。

远程服务器上的JProfiler集成

首先,我下载了jprofiler9并在远程系统上提取。

wget http://download-keycdn.ej-technologies.com/jprofiler/jprofiler_linux_9_2.tar.gz
tar -xzf jprofiler_linux_9_2.tar.gz

并运行以下命令

jprofiler9/bin# ./jpintegrate

它问了我一些信息,生成了2个文件

  1. startup-jp.sh我猜这个文件是从startup.sh创建的,因为上面的向导要求我提供启动脚本的路径(/usr/share/tomcat7/bin/startup.sh),所以在同一个文件夹中创建新文件。
  2. config-jp.xml同一个向导让我输入配置文件的名称,并附有一些说明:可以在JProfiler GUI中导入以快速连接到应用服务器

更改的内容启动jp。sh如下

# The following lines have been added by the
# application server integration wizard of JProfiler

CATALINA_OPTS="-agentpath:/home/ubuntu/jprofiler9/bin/linux-x64/libjprofilerti.so=port=8383 $CATALINA_OPTS"
export CATALINA_OPTS

# end of modifications

exec "$PRGDIR"/"$EXECUTABLE" run "$@"

在这里,我对如何运行JProfiler感到困惑,我想是在运行初创公司jp。sh将启动探查器

它运行成功,但当我使用JProfiler GUI从本地系统连接到此远程服务器时,服务器出现了一些关于未找到路径的错误

这里是运行启动jp后的控制台日志。上海

root# /usr/share/tomcat7/bin/startup.sh
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
JProfiler> Protocol version 55
JProfiler> Using JVMTI
JProfiler> JVMTI version 1.1 detected.
JProfiler> 64-bit library
JProfiler> Listening on port: 8383.
JProfiler> Instrumenting native methods.
JProfiler> Can retransform classes.
JProfiler> Can retransform any class.
JProfiler> Native library initialized
JProfiler> VM initialized
JProfiler> Waiting for a connection from the JProfiler GUI ...
JProfiler> Using dynamic instrumentation
JProfiler> Time measurement: elapsed time
JProfiler> CPU profiling enabled
Oct 28, 2016 4:27:31 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Oct 28, 2016 4:27:31 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
Oct 28, 2016 4:27:32 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Oct 28, 2016 4:27:32 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
Oct 28, 2016 4:27:32 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Oct 28, 2016 4:27:32 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
Oct 28, 2016 4:27:32 AM org.apache.catalina.startup.Catalina initDirs
SEVERE: Cannot find specified temporary folder at /usr/share/tomcat7/temp
Oct 28, 2016 4:27:32 AM org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [/usr/share/tomcat7/conf/server.xml]
Oct 28, 2016 4:27:32 AM org.apache.catalina.startup.Catalina initDirs
SEVERE: Cannot find specified temporary folder at /usr/share/tomcat7/temp
Oct 28, 2016 4:27:32 AM org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [/usr/share/tomcat7/conf/server.xml]
Oct 28, 2016 4:27:32 AM org.apache.catalina.startup.Catalina start
SEVERE: Cannot start server. Server instance is not configured.
JProfiler> Keeping VM alive until frontend disconnects.

显然它无法查看不同的所需目录(奇怪),请注意我从未运行startup.sh启动我的tomcat7,而是使用service tomcat7 start,可能是这里的问题。这是我的tomcat7目录结构

/usr/share/tomcat7/

drwxr-xr-x   2 root root 4.0K Oct 28 04:21 bin
-rw-r--r--   1 root root   39 Feb 21  2014 defaults.md5sum
-rw-r--r--   1 root root 2.0K Feb 21  2014 defaults.template
drwxr-xr-x   2 root root 4.0K Oct 10 06:06 lib
-rw-r--r--   1 root root   53 Feb 21  2014 logrotate.md5sum
-rw-r--r--   1 root root  118 Feb 21  2014 logrotate.template

/var/lib/tomcat7/

drwxr-xr-x  3 tomcat7 tomcat7 4.0K Apr 21  2016 common
lrwxrwxrwx  1 root    root      12 Jun 19  2015 conf -> /etc/tomcat7
lrwxrwxrwx  1 root    root      17 Jun 19  2015 logs -> ../../log/tomcat7
drwxr-xr-x  3 tomcat7 tomcat7 4.0K Apr 21  2016 server
drwxr-xr-x  3 tomcat7 tomcat7 4.0K Apr 21  2016 shared
drwxrwxr-x  6 tomcat7 tomcat7 4.0K Oct 27 06:10 webapps
lrwxrwxrwx  1 root    root      19 Jun 19  2015 work -> ../../cache/tomcat7

通过在startup jp中添加以下行修复了上述异常。上海

export CATALINA_BASE="/var/lib/tomcat7/"

现在它可以找到丢失的文件夹

新问题

现在的问题是我的本地janalyiler gui花费了太多时间(就像如果我重新启动脚本,它会捕获很少的条目,但很快之后

top命令使tomcat的CPU使用率达到197.5%

因此本地janalyiler GUI不会加载任何其他内容。我无法确定是什么导致了如此多的CPU使用率。

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5496 tomcat    38  18 3005m 675m  17m S 197.5  9.0  21:09.55 java

共有1个答案

封德华
2023-03-14

集成已正确完成,并按预期工作。

根据文件系统中的权限,必须执行startup jp。sh作为根,因此执行

sudo sh startup-jp.sh
 类似资料:
  • 我创建了一个@PerformanceTest注释,它利用@Before和@After自动捕获jProfiler指标。目标是将此注释应用于在单独JVM中运行的selenium测试用例。 这个框架是完整的,但我一辈子都不知道如何连接到我的Web服务器(在同一台机器上,但在一个单独的JVM中)。 我尝试连接到端口号,以及尝试本地连接,但没有成功。 我的Web服务器配置如下。请注意,我尝试了脱机和联机配置

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

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

  • 大家好,我是janalyiler的新手。我的任务是分析一个远程weblogic服务器,我已经按照远程分析的步骤进行了分析,直到janalyiler自己创建sh文件。正如我所阅读的,我需要用这个sh文件启动我的weblogic服务器。但是我被以下错误所困扰。 :初始化VM时出错,无法在绝对路径中找到代理库/Linux64/libjprofilerti。所以 我可以在错误中提到的路径中看到文件。需要快

  • 嗨,我对Jprofiler很陌生

  • 我们正在使用Web Sphere 8.5和JProfiler 8.1。我想在Web Sphere 8.5中挂钩运行的JVM。我已经完成了远程应用程序;集成,之后我们必须在Java命令之后添加到我的远程应用程序的启动命令中。 “StartServer.sh”文件是Web Sphere的启动命令。 请您确认我们在下面一行或"setupCmdLine.sh"之后添加了上述命令(如果文件被StartSer