Profiling with VisualVM
TweetPosted on Thursday Mar 06, 2014 at 05:04PM in Technology
Environment
Local
- VisualVM 1.7.0_51 (Build 1352-130117); platform 20130117-unknown-revn
- WildFly 8.0.0.Final
- Oracle JDK7u51
- OS X 10.9.2
Remote profiling target
- WildFly 8.0.0.Final
- Oracle JDK7u45
- OS X 10.9.1
Profiling local instances
- We don't need any special operation to profiling with local instances.
- After just launch VisualVM, we can see local instances.
Profiling Remote instances
Create a management user in the target instance
kyle-no-MacBook:bin kyle$ pwd /Users/kyle/apps/wildfly-8.0.0.Final/bin kyle-no-MacBook:bin kyle$ ./add-user.sh kyle *** Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8 Added user 'kyle' to file '/Users/kyle/apps/wildfly-8.0.0.Final/standalone/configuration/mgmt-users.properties' Added user 'kyle' to file '/Users/kyle/apps/wildfly-8.0.0.Final/domain/configuration/mgmt-users.properties' kyle-no-MacBook:bin kyle$
Define a system property in the target instance to accept connection from remote host
- CAUTION: this makes management port to accept connections from everyone.
/system-property=jboss.bind.address.management:add(value=0.0.0.0)
Launch VisualVM
- We have to specify an additional jar on startup option like this:
jvisualvm --cp:a /Users/kyle/apps/wildfly-8.0.0.Final/bin/client/jboss-cli-client.jar
- If it doesn't work, try “-cp:a” instead
Add and connect to target
Right-click “Remote” - “Add a remote host”
Enter hostname - OK
Right-click hostname - add a JMX connection
Enter connection url, username and password that created in above step - OK NOTICE: Usually, WildFly's management port is 9990. I customized it as 49990 for my environment.
Double-click a icon which appeared with JMX icon. now we can do profiling with remote WildFly instance.
service:jmx:http-remoting-jmx://[HOSTNAME]:9990
References
- Connecting VisualVM with a remote JBoss AS 7 / EAP6 JVM process | akquinet-blog
- [AS7-4695] Server does not start with sun jmx enabled - JBoss Issue Tracker
- Using jconsole to connect to JMX on AS7 | Community
- adding alternative jmx connectivity (i.e. JBoss 7) | Oracle Community
- JMX subsystem configuration - WildFly 8 - Project Documentation Editor
Tags: wildfly