为了在本机上方便用jvisualvm看linux机器上JVM运行状况,昨天配了一下jstatsd,网上教程很多。
1、先写jstatd.policy文件:
grant codebase "file:/root/softs/jdk1.7.0_45/lib/tools.jar" { permission java.security.AllPermission; };
2、写启动脚本:
#!/bin/bash /root/softs/jdk1.7.0_45/bin/jstatd -p 1088 -J-Djava.security.policy=/root/deploys/tagdataserv/jstatd/jstatd.policy -J-Djava.rmi.server.logCalls=true -J-Djava.rmi.server.hostname=192.168.1.8
3、启动。
我遇到的几个问题:
1、从网上拷下来后,字符串改错了,把路径写错了;
2、这台机器上有2个JDK,一个1.6的,一个是1.7的,我在statd.policy里配的是1.7的路径,却用1.6的statd来启动,就出错了;
3、远程连接不上,原因是这台机器的localhost 指向的是127.0.0.1,不愿改hosts,可以加参数来解决:
-J-Djava.rmi.server.hostname=192.168.1.8
4、最后发现,可以不用配jstatd,在需要远程监控的JVM启动的时候,加些启动参数,用JMX即可:
-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.1.8
相关推荐
1. **配置**:在远程主机上启动jstatd服务,通常在命令行中使用`jstatd`命令。如果需要密码保护,可以使用`-J-Djava.security.policy`指定安全策略文件。 2. **连接**:jstatd-client作为RMI客户端,通过网络连接到...
我们需要在服务器上配置jstatd守护程序,并在客户端使用VisualVM连接服务器监控Java程序。 ### 2.2 在服务器上配置 jstatd 的 security policy 文件 在服务器上需要配置jstatd守护程序的security policy文件,以便...
jvisualvm 远程访问 Linux ...使用 jvisualvm 远程访问 Linux 环境中的 Tomcat 需要安装和配置 jdk 和 Tomcat,然后使用 jvisualvm 的 JMX 方法或 jstatd 方法进行监控,最后添加 Visual GC 插件以获取更多的监控信息。
- 或者通过`jstatd`服务监听本地端口,允许远程jVisualVM连接。 2. **监控指标**: - **内存**:查看堆内存、非堆内存的使用情况,分析内存泄漏。 - **线程**:查看线程数量和状态,找出可能的死锁。 - **...
- **jdk.jstatd**: 是一个JVM统计监测服务器,允许远程客户端连接并收集性能数据。 - **jdk.jdwp.agent**: 用于Java调试协议(JDWP)的代理,支持远程调试Java应用程序。 - **jdk.internal.le**: 与本地事件(LE...
nohup ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.10 > /dev/null 2>&1 & ``` #### 五、使用VisualVM监控远程主机 完成上述配置后,在本地计算机上启动...
配置`jstatd.all.policy`文件后,可以通过指定的hostname和端口启动jstatd服务,允许远程连接。例如,`jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.8.16`这行命令会...
在启用jstatd时,可能需要配置安全策略文件(如`jstatd.all.policy`),赋予必要的权限以允许网络操作。 这些JVM监控工具提供了全面的洞察力,帮助开发者调试问题、优化性能和理解应用程序的行为。熟悉并掌握它们的...
- 在`bin`目录下执行`jstatd -J-Djava.security.policy=jstatd.all.policy &`命令来启用jstat服务,其中`jstatd.all.policy`为上述创建的policy文件路径。 - 检查1099端口是否已被启用,可以通过`netstat -tlnup`...
jinfo是一个命令行工具,用于从崩溃的Java应用程序的Core文件中获取配置信息。jinfo工具目前仅在Solaris和Linux的JDK版本中提供。 jmap jmap是一个命令行工具,用于从Core文件或进程中获取内存的具体匹配情况,...
需要注意的是,为了安全考虑,使用`jstatd`需正确配置安全策略文件。 ### 结论 上述工具共同构成了Java开发者和运维人员的有力武器库,帮助他们在面对复杂多变的JVM问题时能够迅速定位、分析并解决问题。每一种...
这些工具可以帮助开发者诊断内存泄漏、监控垃圾收集(GC)活动、查看线程状态以及检查JVM配置。以下是几种常用的JVM监控工具的详细介绍: 1. **jstack**: `jstack` 是一个用于打印Java线程堆栈跟踪的工具,它可以...
jinfo命令可以从core文件里面知道崩溃的Java应用程序的配置信息,包括Heap size、Perm size等等信息。jinfo命令可以帮助开发者快速地了解崩溃的Java应用程序的配置信息,从而快速定位问题所在。 四、jmap命令 jmap...
- `JFR.*`:与Java飞行记录器(JFR)相关,用于配置、检查和生成事件记录。 - `JVMTI.*`:与Java虚拟机工具接口(JVMTI)相关的命令,如`agent_load`加载JVMTI代理。 - `ManagementAgent.*`:管理代理相关的命令,...
在远程监控方面,VisualVM 支持两种连接方式:jstatd 和 JMX(Java Management Extensions)。本文将详细介绍如何通过 JMX 方式配置并监控远程的 JVM 进程。 首先,要通过 JMX 方式监控远程 JVM,需要在远程主机上...
此外,还需要在远程主机上启动jstatd服务,以便VisualVM可以连接到远程JMX服务器并收集数据。 VisualVM提供了生成堆转储(Heap Dump)的功能,它能够帮助开发者获取JVM堆内存的快照,并提供内存中对象的详细信息,...
同时,还需要配置JVM的安全策略文件,如 `jstatd.all.policy`,允许JMX连接。 接下来,使用JVisualVM(在JDK的bin目录下,如 `jvisualvm.exe`)这个强大的JVM管理和性能分析工具,连接到远程服务器的JMX端口。在...
--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...
9. **其他实用工具**:如appletviewer、extcheck、idlj、jar、jarsigner、jarsigner.bat、java-rmi.cgi、jconsole、jdb、jhat、jinfo、jnlp、jmap、jmc、jps、jrunscript、jsadebugd、jstack、jstat、jstatd、...
7. **其他工具**:如appletviewer、apt、extcheck、idlj、jarsigner、jconsole、jdb、jdwp、jhat、jinfo、jmap、jmc、jps、jrunscript、jstack、jstat、jstatd等,它们提供了各种附加功能,如性能监控、内存分析等。...