2013-09-23 85 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。