jstatd - Virtual Machine jstat Daemon
jstatd 【options】
参数:options
命令行参数,可以按任何顺序,但如果有多余的或者中有互斥的参数,最后制定的那个参数将有优先权
options:
-nr 当一个存在的RMI Registry没有找到时,不尝试创建一个内部的RMI Registry -p port RMI Registry将会被找到的端口,如果没有找到,而且-nr没有指定,则新建一个RMI Registry。默认为1099
-n rminame remote RMI对象会被绑定到的RMI Registry的名字,默认的名字为JStatRemoteHost.如果多个jstatd服务在同一台机子上启动了,每个jstatd服务的对外的 RMI对象的名字可由该参数指定。这么做要求唯一的server name被包含在监控客户端的hostid和vmid串中。 -J 将参数传给被javac调用的java launcher。例如:-J-Xms48m设置了启动内存为48m,由-J传递java程序vm参数是一种惯例
Security
jststd只能监控有适当的本地接入的JVM,因此jstatd进程必须用和目标jvm的相同的用户凭证。有些用户凭证,如unix系统下的root用户,有权限进入到系统里任何一个由 JVM启动的设备,用这种用户凭证启动的jstatd能够监控任何一个jvm,但会引入潜在的安全隐患。jstatd并不提供给任何一个远程客户端用户凭证,如此,运行一个jstatd serve进程会将其有权限访问的jvm设备暴露给网络上的用户。这种暴露对用户来说并不受欢迎,在起订jstatd进程钱必须考虑本地安全策略。特别是在生产环境或者不安全 的网络中。如果没有安装其他的安全管理,并且要求指定一个安全策略文件,jstatd服务会安装一个RMISecurityPolicy。下面的策略将会允许jstatd服务在没有任何security exception中运行:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
将以上内容保存到jstatd.all.policy的文件中,文件位置可任意。启动jstatd:
jstatd -J-Djava.security.policy="xxxxx/jstatd.all.policy" xxxxx代表的是绝对路径
远程监控:启动RMI服务样例:
(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端口
netstat -tulanp | grep 1099 查看1099端口是否被占用了,如果被占用,则需要选择其他端口来启动jstatd服务
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
而后在VisualVM中就添加远程连接,选择jstatd方式,就可以监控JVM的运行情况了。
远程监控tomcat服务:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10201 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
而后在VisualVM中就添加远程连接,选择jmx方式,就可以监控tomcat的运行情况了
-------------------------------------------------------------------------------
下载地址:http://visualvm.java.net/download.html
插件安装
tools->plugin->Available Plugin 会有值得安装的插件,如:VisualGC JConsole

jstatd - Virtual Machine jstat Daemon的更多相关文章
- JVM常用命令和性能调优建议 [Could not create the Java virtual machine]
一.查看jvm常用命令jinfo:可以输出并修改运行时的java 进程的opts. jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. ...
- 《Remus: High Availability via Asychronous Virtual Machine Replication》翻译
Abstract 想要让应用能够躲过硬件故障是一项非常昂贵的任务,因为这通常意味着对软件进行重构,使它包含复杂的恢复逻辑的同时需要部署专用的硬件,而这些对于提升大型的或者遗留的应用的可靠性是巨大的障碍 ...
- Java虚拟机(Java Virtual Machine)
JVM(Java Virtual Machine),Java虚机机,是JDK最底层的东西.只要能将源代码编译成字节码(.class)文件,就可以由JVM在不同平台上解释成机器指令来执行.所以,Java ...
- Virtual Machine Definition File 2.2
Virtual Machine Definition File 2.2 http://archives.opennebula.org/documentation:archives:rel2.2:tem ...
- 虚拟机(Virtual Machine)和容器(Container)的对比
目前云计算平台常用的虚拟化技术有虚拟机(Virtual Machine)和容器(Container)两种.虚拟机已经是比较成熟的技术,容器技术作为下一代虚拟化技术,国内的各厂商应用还不广,但似乎其代表 ...
- Azure PowerShell (6) 设置单个Virtual Machine Endpoint
<Windows Azure Platform 系列文章目录> 请注意: - Azure不支持增加Endpoint Range - 最多可以增加Endpoint数量为150 http:// ...
- Azure PowerShell (7) 使用CSV文件批量设置Virtual Machine Endpoint
<Windows Azure Platform 系列文章目录> 请注意: - Azure不支持增加Endpoint Range - 最多可以增加Endpoint数量为150 http:// ...
- (学)解决VMware Taking ownership of this virtual machine failed
原文:http://blog.csdn.net/fisher_jiang/article/details/6992588背景: 一次crash可能会造成虚拟机锁死的情况发生现象:点击take owne ...
- Azure Virtual Machine 之 如何利用Management Class Libraries 创建VM
之前发的blog简单的介绍了如何使用Management Class Libraries 来控制Azure platform. 但由于官方并没有提供文档,所以我们只能够通过自己研究来摸索使用该类库的方 ...
随机推荐
- Nginx+redis部署tomcat集群
一.部署环境: 两个tomcat实例部署在Ubuntu 14上,IP地址分别为192.168.1.110和192.168.1.111,Nginx和redis部署在windows7上,IP地址为192. ...
- Oracle ASM 详解
ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也是由实例和文件组成, 也可以 ...
- AppBox中main树节点单击事件JS(还有叶子的节点的页面链接)
AppBox中main.aspx.csif (menu.IsTreeLeaf) { node.Leaf = true; ...
- Tomcat 8.5 无法进入Manage APP
解决的方法 1. 添加 Context http://stackoverflow.com/questions/36703856/access-tomcat-manager-app-from-diffe ...
- 【shell】sed命令
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed ...
- Linux中CPU亲和性(go)
http://www.cnblogs.com/LubinLew/p/cpu_affinity.html
- 织梦dedecms模板制作时,循环递增autoindex使用方法整理
文章转载:http://www.maihui123.com/dedecms/2012051964.html 织梦dedecms模板制作时,我们需要每循环一次,变量加一,这是就需要使用到autoinde ...
- LwIP raw api下使用tcp keep alive
// The following code is implemented after tcp_new() or in tcp_connected call back... xxx_connected( ...
- 蓝桥杯 算法训练 ALGO-116 最大的算式
算法训练 最大的算式 时间限制:1.0s 内存限制:256.0MB 问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量 ...
- maven学习(1)-简介与安装
一.Maven 简介 Maven 官网:http://maven.apache.org/ 二.Maven 安装与配置 Maven 下载:http://maven.apache.org/download ...