当前位置: 代码迷 >> JavaScript >> jstatd - 虚拟机jstat看护进程
  详细解决方案

jstatd - 虚拟机jstat看护进程

热度:583   发布时间:2012-11-26 11:48:50.0
jstatd - 虚拟机jstat守护进程

jstatd - 虚拟机jstat守护进程

  • 简介
  • 描述
  • 选项
  • 安全
  • 远程接口
  • 实例
  • 参见

内容简介

jstatd [ 选项 ]
选项
命令行选项。购股权可于任何顺序排列。如果有重复或矛盾的选项,指定的最后一个选项将优先考虑。

说明

jstatd工具是一个RMI服务器应用程序,监视仪器HotSpot的Java虚拟机(JVM)的创建和终止,并提供一个界面,允许附加到JVM上运行在本地主机上的远程监控工具。

jstatd服务器需要在本地主机上的RMI注册表的存在。jstatd服务器将尝试连接到RMI注册表中的默认端口或端口上的 -p端口选项。RMI注册表没有找到,将内创建jstatd应用程序绑定到端口-p端口选项或默认的RMI注册表的端口,如果省略-P端口。创建一个内部的RMI注册表,可以禁止指定-NR选项。

注意:此实用程序是不支持的,可能会或可能不会在未来版本的JDK。目前还没有在Windows 98和Windows ME平台。

OPTIONS

jstatd命令支持以下选项:

-NR
不要尝试创建一个内部的RMI注册表 jstatd过程中没有找到现有的RMI注册表时。
-P   端口
的RMI注册表的端口号被发现,或者,如果没有找到,如果没有指定-NR创建 
-N   rminame
名称将里面的远程RMI对象被绑定在RMI注册表中。默认名称 JStatRemoteHost。如果在同一台主机上启动多个jstatd服务器,每个服务器导出的RMI对象的名称可以唯一的指定这个选项。但是,这样做将需要唯一的服务器名包含在监控客户端的主机标识VMID 字符串。
-J 选项
通过选项调用javac的JAVA发射的 。例如,-J-Xms48m将启动内存为48兆字节。-J选项传递给底层的虚拟机执行用Java编写的应用程序,它是一个公共约定。

安全

jstatd服务器只能监控的JVM,它有适当的本机访问权限。为此jstatd进程必须使用相同的用户凭据为目标的JVM。一些用户凭据,如在UNIX(TM)为基础的系统用户的权限访问系统上的任何JVM出口仪器仪表。一个jstatd运行的进程这样的凭证,可以监视任何JVM上的系统,但引入了额外的安全问题。

jstatd服务器不提供任何身份验证的远程客户端。因此,jstatd服务器运行过程中暴露出的仪器仪表出口的所有JVM jstatd过程具有访问权限的任何用户在网络上。这暴露可能是不希望的,在您的环境和本地安全策略前,应考虑启动jstatd的过程中,特别是在生产环境中,或在不安全的网络。

jstatd服务器安装实例RMISecurityPolicy如果没有其他安全管理器已被安装,因此需要一个安全策略文件中指定。策略文件必须符合的默认策略实施的 政策文件语法。

下面的政策文件将允许jstatd服务器上运行没有任何安全性异常。这个政策是宽松的授予所有权限的所有代码库,但比政策,授予最小权限运行jstatd服务器更自由。

授予代码库“文件:$ {的java.home} /。。/ lib / tools.jar中中”{ 
   许可java.security.AllPermission; 
};

要使用此策略,将文本复制到 运行一个文件名 ??为jstatd.all.policyjstatd服务器如下:

jstatd-J-Djava.security.policy = jstatd.all.policy

更严格的安全做法的网站,它可以使用一个自定义策略文件限制到特定的受信任的主机或网络的访问,虽然这种技术是受的IP addreess欺骗攻击。自定义策略文件,如果您的安全问题不能得到解决,那么最安全的操作是不运行jstatd 服务器,并使用本地jstatJPS工具。

REMOTE接口

jstatd过程 所导出的接口是私有的,并保证改变。用户和开发人员都不愿意写这个接口。

示例

下面是一些例子的起始jstatd。请注意, jstatd脚本自动在后台启动服务器。

使用内部RMI注册表

这个例子演示了启动jstatd 内部的RMI注册表。此示例假定没有其他的服务器绑定到RMI注册表的默认端口(端口1099)。

jstatd-J-Djava.security.policy = all.policy

使用外部RMI注册表

这个例子演示了启动jstatd与外部RMI注册表。

rmir??egistry中和
jstatd-J-Djava.security.policy = all.policy

这个例子演示了启动jstatd 与外部RMI注册表,服务器上的端口2020。

rmir??egistry的2020  - 
jstatd-J-Djava.security.policy = all.policy-P 2020

这个例子演示了,开始jstatd 与外部RMI注册表的端口2020上,绑定到name AlternateJstatdServerName。

rmir??egistry的2020  - 
jstatd-J-Djava.security.policy = all.policy-P 2020-N AlternateJstatdServerName

创作过程中的RMI注册表的抑制作用

这个例子演示了启动jstatd 例如,如果未找到,它不会创建一个RMI注册表。此示例假定已经运行的RMI注册表。如果它不是,则发出一个适当的错误消息。

jstatd-J-Djava.security.policy = all.policy-NR

启用RMI日志记录功能。

这个例子表明启动jstatd RMI启用日志记录功能。这种技术是非常有用的故障排除援助或监视服务器活动。

jstatd-J-Djava.security.policy = all.policy-J-Djava.rmi.server.logCalls = TRUE

另请参见

  • JAVA - Java应用程序启动
  • JPS - Java进程状态应用
  • jstat - Java虚拟机的统计监测工具
  • rmir??egistry中 - Java远程对象注册表