I'm trying to get a simple, localhost session of JProfiler up and running. I've created the session, the host is 127.0.0.1, the port is the default 8849, and I've pointed the startup/shutdown commands to my local tomcat installation startup.sh/shutdown.sh. I click OK and I get "Connecting to 127.0.0.1:8849" and after 150 seconds (I modified the timeout) it times out and says:
Could not connect to 127.0.0.1:8849. Please make sure that the remote address is correct, the remote program is started properly, and the network route allows socket connections.
The address can't possibly be wrong, and I've verified (ps -ef|grep tomcat) that the process is up, and also checked the tomcat log and it's waiting for requests:
INFO: Starting Coyote HTTP/1.1 on http-8080
Apr 15, 2011 7:49:13 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Apr 15, 2011 7:49:13 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/21 config=null
Apr 15, 2011 7:49:13 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 47312 ms
Is there something else I need to do to open the port? For instance am I supposed to modify the JAVA_OPTS that get passed to tomcat?
Yes. you need something like this (for OS X)
export JAVA_OPTS="-agentlib:jprofilerti=port=8849 \
-Xbootclasspath/a:/Applications/jprofiler5/bin/agent.jar"
export DYLD_LIBRARY_PATH=/Applications/jprofiler5/bin/macos
Usually when you configure a new session through the wizard in JProfiler, it will tell you those exact parameters that you need to put in.
For me this wizard is StartCenter -> New Session , then select "New remote integration". This will then ask local/remote , startup mode, jvm type, profiling port and on page 6 says "Perform required modifications" and it lists those.
Alternatively you can select "Integration wizard" from the menu bar.
Step 1: In Linux machine open .bash_profile
file from /root
directory.
Enter jprofiller location (using below command export) in enter code here
.bash_profile file
export LD_LIBRARY_PATH=/dsvol/jprofiler6/bin/linux-x86
Step 2: Go into Tomcat installation directory. Open catalina.sh
file from bin
folder
Enter the below details in catalina.sh
file (only red color information and black color you can find by default in catalina.sh
file)
export JPROFILER_HOME
JAVA_OPTS="-Xms768m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m -Dfile.encoding=UTF8 -agentpath:/opt/Performance/jprofiler7/bin/linux-x86/libjprofilerti.so=port=8849 $CATALINA_OPTS"
Step 3: Start the server from bin folder by executing the starup.sh
command
The easiest way to configure would be to follow the wizards provided by JProfiler which is described here, there are also non-GUI wizards which are very handy:
For example for Tomcat the following is automatically inserted into Tomcat's startup.sh script, which means you don't have to guess:
# The following lines have been added by the
# application server integration wizard of JProfiler
CATALINA_OPTS="-agentpath:/local/jprofiler8/bin/linux-x64/libjprofilerti.so=port=8849,nowait $CATALINA_OPTS"
export CATALINA_OPTS
# end of modifications
exec "$PRGDIR"/"$EXECUTABLE" run "$@"
Good luck
-agentpath:/Applications/JProfiler.app/Contents/Resources/app/bin/macos/libjprofilerti.jnilib -Xbootclasspath/a:/Applications/JProfiler.app/Contents/Resources/app/bin/agent.jar
This is working for me, JProfiler 9.1.1; OSX 10.11.3
来源:https://stackoverflow.com/questions/5678557/simple-jprofiler-setup-not-working