Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Jconsole监控Java程序?_Java_Multithreading_Jconsole - Fatal编程技术网

如何使用Jconsole监控Java程序?

如何使用Jconsole监控Java程序?,java,multithreading,jconsole,Java,Multithreading,Jconsole,我已经写了一个程序来打印数字从1到200使用2线程 现在我想用JConsole监视这个程序 基本上,我想学习如何使用JConsole监控应用程序 我搜索了谷歌,但没有找到有用的东西 我怎样才能做到这一点 当我在bin文件夹中启动jconsole.exe时。它要求输入主机名和端口号。 就我而言,我想没有。 有人可以指导。您需要通过添加以下JVM参数来启用JMX: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authen

我已经写了一个程序来打印数字从1到200使用2线程

现在我想用JConsole监视这个程序

基本上,我想学习如何使用JConsole监控应用程序

我搜索了谷歌,但没有找到有用的东西

我怎样才能做到这一点

当我在bin文件夹中启动
jconsole.exe
时。它要求输入主机名和端口号。 就我而言,我想没有。
有人可以指导。

您需要通过添加以下
JVM
参数来启用
JMX

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=8484
-Dcom.sun.management.jmxremote.ssl=false
这些参数将允许任何
JMX
监视工具访问和监视您的应用程序

我还建议你使用它更强大的工具。 visualVM的一些功能:

  • 提供CPU配置文件
  • 提供有关线程的所有信息
  • 提供JVM堆和内存状态
  • 提供有关GC活动的信息

假设您在package
p1
下有一个类
测试
,其中您有代码可以使用2个线程打印1到200之间的数字(您要监视)

因此,要使用监控应用程序,您需要先编译并执行代码,然后在代码执行时

  • 开始
    ->
    运行
    ->
    jconsole.exe
    并点击/按
    输入

  • 选择要监视的应用程序,然后单击
    连接

或者,您也可以为此目的使用


JConsole在JConsole启动时查找所有正在运行的应用程序。然后,列表中将仅显示当前正在运行的应用程序端口和主机。因此,首先需要启动应用程序,然后启动JConsole

我应该在哪里添加这些行?如果您使用的是
eclipseide
,那么
右键单击您的项目->属性->运行/调试设置->选择您的启动程序类->参数点击启动应用程序,启动
jconsole
,您将找到一个您的应用程序进程。欢迎,如果这能解决您的问题,请不要忘记接受它作为答案:)。