jstatd [options]
此命令是一个RMI Server应用程序,提供了对JVM的创建和结束监视,也为远程监视工具提供了一个可以attach的接口
options
-nr 当一个存在的RMI Registry没有找到时,不尝试创建一个内部的RMI Registry
-p port 端口号,默认为1099
-n rminame 默认为JStatRemoteHost;如果多个jstatd服务开始在同一台主机上,rminame唯一确定一个jstatd服务
-J jvm选项
jstatd
会报如下错误:
Could not create remote object
access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write)
java.security.AccessControlException: access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.System.setProperty(System.java:727)
at sun.tools.jstatd.Jstatd.main(Jstatd.java:122)
这是因为没有给jstatd指定安全策略
创建安全策略文件,并命名为jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
再次启动
C:\Program Files\Java\jdk1.6.0_16\bin>jstatd -J-Djava.security.policy=jstatd.all.policy
利用jps查看正在运行的java命令
jps
C:\Documents and Settings\lulu>jps
4892 Bootstrap
1296 Jstatd
4484 Jps
3332 org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
此时就可以使用jvisualvm.exe以远程的方式监控JVM相关信息了。
更多例子
(1)使用内部RMI Registry
jstatd -J-Djava.security.policy=all.policy (默认端口为1099)
(2)使用外部RMI Registry
a)使用默认值
rmiregistry&
jstatd -J-Djava.security.policy=all.policy
b)使用2020端口
rmiregistry 2020&
jstatd -J-Djava.security.policy=all.policy -p 2020
c)使用2020端口,使用rminame
rmiregistry 2020&
jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName
(3)RMI Registry已经启动,不创建内部RMI Registry
jstatd -J-Djava.security.policy=all.policy -nr
(4)RMI日志能力
jstatd -J-Djava.security.policy=all.policy -J-Djava.rmi.server.logCalls=true
分享到:
相关推荐
JVM 监控管理及故障诊断工具 ...jps、jstat 和 jstatd 三种命令都是 JVM 监控管理及故障诊断的重要工具,它们可以帮助开发者快速地了解 JVM 的性能和资源消耗情况,从而进行合理的资源分配和性能优化。
jstatd命令可以帮助开发者快速地监控远程机器的Java应用程序的信息,从而快速定位问题所在。 Java提供了多种工具和命令来帮助开发者快速地检测和解决Java内存泄露问题。本文介绍的工具和命令可以帮助开发者快速地...
1. **配置**:在远程主机上启动jstatd服务,通常在命令行中使用`jstatd`命令。如果需要密码保护,可以使用`-J-Djava.security.policy`指定安全策略文件。 2. **连接**:jstatd-client作为RMI客户端,通过网络连接到...
11. jstatd.exe:JVM统计监控守护进程,可以远程监控JVM的性能。 12. kinit.exe、klist.exe、ktab.exe:这些是与Kerberos身份验证相关的工具,Java可以通过这些工具与Kerberos系统交互,进行身份验证和授权。 以上...
jmx 方法直接远程连接 Tomcat,而 jstatd 方法需添加创建 `jstatd.all.policy` 文件,并执行命令 `jstatd -J-Djava.security.policy=jstatd.all.policy`,然后远程连接。jstatd 服务一直运行,通过 `jps` 命令可查询...
例如,`jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.8.16`这行命令会启动jstatd服务,并设置允许远程连接的主机为192.168.8.16。 在实际开发中,了解这些JVM相关的...
--slave /usr/bin/jstatd jstatd /opt/jdk1.6.0_11/bin/jstatd --slave /usr/bin/jvisualvm jvisualvm /opt/jdk1.6.0_11/bin/jvisualvm --slave /usr/bin/native2ascii native2ascii /opt/jdk1.6.0_11/bin/native...
jdb工具包含了丰富的命令,帮助您进行调试。jdb工具的功能与Sun Studio中的dbx非常相似,但jdb专门用于Java应用程序的调试。 jstat jstat是一个命令行工具,利用了JVM内建的指令对Java应用程序的资源和性能进行...
- `GC.*`:与垃圾收集相关的命令,如`GC.class_histogram`用于打印类直方图,`GC.heap_dump`生成堆转储文件。 - `JFR.*`:与Java飞行记录器(JFR)相关,用于配置、检查和生成事件记录。 - `JVMTI.*`:与Java虚拟机...
在`JAVA_HOME/bin`目录下执行以下命令来启动jstatd服务: ```sh nohup ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.10 > /dev/null 2>&1 & ``` #### 五、...
- 在`bin`目录下执行`jstatd -J-Djava.security.policy=jstatd.all.policy &`命令来启用jstat服务,其中`jstatd.all.policy`为上述创建的policy文件路径。 - 检查1099端口是否已被启用,可以通过`netstat -tlnup`...
jdb提供了丰富的命令集,类似于Sun Studio中的dbx,专为Java应用程序设计。它允许设置断点、查看变量、单步执行代码等,是Java开发和调试的重要工具。 6. **jstat**: jstat是用于命令行监控Java应用程序资源和...
此外,还提到一个特定的问题场景:如果需要修改无源代码程序的行为,比如让jstatd在指定的端口上监听,而不是随机端口。这通常需要对该程序进行逆向工程,然后用汇编或C/C++等语言进行相应的修改和重新编译。由于这...
`jps` 命令用于列出运行在本地或远程机器上的所有JVM实例,显示它们的进程ID。这对于找到要监控的特定Java进程非常有用。 7. **jstat**: `jstat` 是最强大的工具之一,它提供了丰富的统计选项,可以监视类加载、...
它包含了一系列调试命令,类似于Sun Studio中的dbx工具,但专为Java应用程序设计。`jdb` 支持断点设置、变量检查等功能,是解决复杂运行时错误的强大工具。 #### 6. jstat —— Java Statistics Monitoring Tool `...
7. **其他工具**:如appletviewer、apt、extcheck、idlj、jarsigner、jconsole、jdb、jdwp、jhat、jinfo、jmap、jmc、jps、jrunscript、jstack、jstat、jstatd等,它们提供了各种附加功能,如性能监控、内存分析等。...
1. jstatd:是一个监控服务,它在目标机器上创建一个RMI(远程方法调用)注册表,并使用这个注册表来监听JVM进程的创建和终止。其他工具如jvisualvm可通过它来远程连接并监控JVM进程。 2. jps:用于显示在本地或...
- **1.4.2 gdb子命令用于Java虚拟机调试**:列举了一些gdb特有的子命令,专门用于调试Java虚拟机,如查看类加载器状态等。 ##### 1.5 HPjconfig HPjconfig 是一个配置工具,主要用于设置Java虚拟机的启动参数和其他...
然后,在Tomcat启动命令中添加 `-javaagent` 参数,指定BTrace的jar文件路径。 为了实现远程监控,你需要开启JVM的远程调试端口。这可以通过设置JVM参数 `-Dcom.sun.management.jmxremote`、`-Dcom.sun.management....