当使用jcmd监控java进程时,有一个命令ManagementAgent.start。检查man page / oracle document / google,没有找到任何描述。
jcmd
ManagementAgent.start
问题是:
ttvkxqim1#
此命令启动远程JMX代理,就像设置了-Dcom.sun.management.jmxremote命令行参数一样。请参见Monitoring and Management Using JMX Technology。
-Dcom.sun.management.jmxremote
vngu2lb82#
**ManagementAgent.stop:**停止远程管理代理。**ManagementAgent.start:**启动远程管理单元**ManagementAgent.start_local:**启动本地管理代理。
你可以在下面的链接中找到一个例子。https://self-learning-java-tutorial.blogspot.com/2018/08/jcmd-managementagentstop.html
i34xakig3#
jcmd的ManagementAgent命令将调用目标JVM上jdk.internal.agent.Agent类的方法:
ManagementAgent
jdk.internal.agent.Agent
start
startRemoteManagementAgent()
start_local
startLocalManagementAgent()
stop
stopRemoteManagementAgent()
status
getManagementAgentStatus()
基本上,前两个方法所做的是为目标JVM的平台MBean服务器启动一个JMX连接器服务器(每个连接器服务器具有不同的参数)。status命令对于获取有关正在运行的JMX代理的信息非常有用。start_local的源代码:https://github.com/openjdk/jdk/blob/master/src/hotspot/share/services/diagnosticCommand.cpp#L736
3条答案
按热度按时间ttvkxqim1#
此命令启动远程JMX代理,就像设置了
-Dcom.sun.management.jmxremote
命令行参数一样。请参见Monitoring and Management Using JMX Technology。vngu2lb82#
**ManagementAgent.stop:**停止远程管理代理。
**ManagementAgent.start:**启动远程管理单元
**ManagementAgent.start_local:**启动本地管理代理。
你可以在下面的链接中找到一个例子。
https://self-learning-java-tutorial.blogspot.com/2018/08/jcmd-managementagentstop.html
i34xakig3#
jcmd的
ManagementAgent
命令将调用目标JVM上jdk.internal.agent.Agent
类的方法:start
调用startRemoteManagementAgent()
,start_local
调用startLocalManagementAgent()
,stop
调用stopRemoteManagementAgent()
,status
调用getManagementAgentStatus()
。基本上,前两个方法所做的是为目标JVM的平台MBean服务器启动一个JMX连接器服务器(每个连接器服务器具有不同的参数)。
status
命令对于获取有关正在运行的JMX代理的信息非常有用。start_local
的源代码:https://github.com/openjdk/jdk/blob/master/src/hotspot/share/services/diagnosticCommand.cpp#L736