2013-09-23 39 views
0

我试图将JVisualVM连接到jstatd。但是在我的远程服务器上,我遇到了启动jstatd的问题。问题开始jstatd

# netstat -nlp | grep rmiregistry 
tcp  0  0 0.0.0.0:1098    0.0.0.0:*     LISTEN  7320/rmiregistry 
tcp  0  0 0.0.0.0:34872    0.0.0.0:*     LISTEN  7320/rmiregistry 

# ./jstatd -J-Djava.security.policy=jstatd.all.policy -p 1098 
Could not bind //:1098/JStatRemoteHost to RMI Registry 
java.rmi.UnexpectedException: undeclared checked exception; nested exception is: 
     java.lang.ClassNotFoundException: sun.jvmstat.monitor.remote.RemoteHost not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}} 
     at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source) 
     at java.rmi.Naming.rebind(Naming.java:177) 
     at sun.tools.jstatd.Jstatd.bind(Jstatd.java:57) 
     at sun.tools.jstatd.Jstatd.main(Jstatd.java:143) 
Caused by: java.lang.ClassNotFoundException: sun.jvmstat.monitor.remote.RemoteHost not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}} 
     at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273) 
     at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251) 
     at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:377) 
     ... 4 more 

回答

0

您正在使用错误的JDK中的错误。这sun.jvmstat.monitor.remote.RemoteHost not found in gnu.gcj.runtime.SystemClassLoader显示您正在使用GCJ运行Jstatd。请使用OpenJDK或Oracle JDK。