jstatd配置
需要在被JVM内存监控的服务器上面,通过jstatd来启动RMI服务。
新建个文件jstatd.all.policy文件内容如下:
Java代码
- grantcodebase"file:${java.home}/../lib/tools.jar"{
- permissionjava.security.AllPermission;
- };
启动命令如下:
Java代码
- //默认端口为1099
- jstatdjstatd-J-Djava.secu
- rity.policy=jstatd.all.policy
- //指定hostname一般情况需要重新指定hostname,否则连接不成功
- jstatd-J-Djava.rmi.server.hostname=192.168.8.7
- -J-Djava.security.policy=test/jstatd.all.policy
- //指定hostname指定端口
- jstatd-J-Djava.rmi.server.hostname=192.168.8.7
- -J-Djava.security.policy=test/jstatd.all.policy-p8888
- //启动JMX
- jstatd-J-Djava.rmi.server.hostname=192.168.8.7
- -J-Djava.security.policy=test/jstatd.all.policy
- -J-Dcom.sun.management.jmxremote.port=8888
- -J-Dcom.sun.management.jmxremote.ssl=false
- -J-Dcom.sun.management.jmxremote.authenticate=false
- //后台启动
- nohupjstatd-J-Djava.rmi.server.hostname=192.168.8.7
- -J-Djava.security.policy=test/jstatd.all.policy-p8888&
- //默认端口为1099
- jstatdjstatd-J-Djava.security.policy=jstatd.all.policy
- //指定hostname一般情况需要重新指定hostname,否则连接不成功
- jstatd-J-Djava.rmi.server.hostname=192.168.8.7
- -J-Djava.security.policy=test/jstatd.all.policy
- //指定hostname指定端口
- jstatd-J-Djava.rmi.server.hostname=192.168.8.7
- -J-Djava.security.policy=test/jstatd.all.policy-p8888
- //启动JMX
- jstatd-J-Djava.rmi.server.hostname=192.168.8.7
- -J-Djava.security.policy=test/jstatd.all.policy
- -J-Dcom.sun.management.jmxremote.port=8888
- -J-Dcom.sun.management.jmxremote.ssl=false
- -J-Dcom.sun.management.jmxremote.authenticate=false
- //后台启动
- nohupjstatd-J-Djava.rmi.server.hostname=192.168.8.7
- -J-Djava.security.policy=test/jstatd.all.policy-p8888&
启动通过:netstat-an|grep8888可以查看端口是否已经被监听,用JAVA_HOME/bin/jmap查看java进程:
Java代码
- //查看本机的情况
- jps
- //查看远程计算机192.168.8.7的情况(默认1099端口)
- jps192.168.8.7
- //查看远程计算机192.168.8.78888端口
- jpsrmi://192.168.8.7:8888
打开jvisualvm界面如下:
右击远程选择添加远程主机:
如果重新指定了jstatd端口,选择高级设置修改端口,如下图:
如果同时配置了JMX,可以在添加JMX连接如下图:
添加后如图所示:
相关推荐
5. **建立远程连接**: 在本地Windows环境中打开Jvisualvm,添加远程主机并新建JMX连接。输入之前配置的端口号、用户名和密码。 ##### MemoryAnalyzer分析堆文件 1. **获取堆文件**: 使用Jvisualvm工具在远程服务器...
此外,为了提升用户体验,可能会采用异步处理机制,如Java的ExecutorService,来避免主线程被阻塞,保证用户界面的流畅性。 在"JQ_Printer_Demo"这个示例中,"JQ"可能是公司或项目名称的缩写,"Demo"代表这是一个...
- 在网络通讯系统中,通常会使用多线程技术来提高系统的并发性能,每个连接的客户端都会在一个单独的线程中处理,以避免阻塞主线程。 - Java的Thread类和Runnable接口是实现多线程的基础,也可以使用...
1. 监控工具:使用JVisualVM、VisualVM或JMX进行性能监控,观察CPU、内存、线程和GC状况。 2. 堆内存分析:定期做heap dump,利用MAT或JProfiler分析内存泄漏。 3. 日志分析:分析日志文件,找出性能瓶颈,如SQL查询...
使用JMX(Java Management Extensions)进行系统监控,JVisualVM、JProfiler等工具分析性能瓶颈,有助于持续优化应用。 以上是构建高性能、高并发Java Web应用的核心知识点。通过合理运用这些技术和工具,可以有效...
开发者需要理解如何有效地使用对象,避免内存泄漏,并可能需要使用JVisualVM等工具进行性能分析。 9. **源代码管理和打包**:项目可能包含多个源代码文件,因此使用版本控制系统如Git进行协作和版本控制是必需的。...
ESB作为连接各个IT系统的桥梁,可以简化服务间通信,实现解耦和复用,从而提升整体业务流程的灵活性和响应速度。 二、ESB性能指标 1. 吞吐量:衡量ESB平台在单位时间内处理请求的数量,通常以每秒事务数(TPS)或...
至于工具有关,开发者可以利用各种线程分析工具来诊断和优化多线程程序,例如Java的JVisualVM,它可以显示线程状态,帮助找出死锁等问题。此外,内存分析工具,如Valgrind,可以帮助检测因线程不安全导致的内存泄漏...
Java提供了JDBC(Java Database Connectivity)接口,可以连接多种类型的数据库,如MySQL、Oracle等。 7. **算法与数据分析**:股票软件可能会包含一些基础的图表展示,如K线图、成交量图等,这需要用到数据可视化...
- 使用工具如JVisualVM、Visual GC等监控JVM的运行状态,分析内存泄漏、垃圾回收等问题。 - 结合日志和异常信息定位具体问题。 #### 5. Web开发相关知识点 - **浏览器发出一个请求到收到响应经历了哪些步骤** -...