我正在试着分析一个在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个文件
startup.sh
创建的,因为上面的向导要求我提供启动脚本的路径(/usr/share/tomcat7/bin/startup.sh),所以在同一个文件夹中创建新文件。更改的内容启动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
我创建了一个@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