![使用 Windows Server 2008 上的 JConsole 监控 Informatica Java 进程](https://linux22.com/image/627592/%E4%BD%BF%E7%94%A8%20Windows%20Server%202008%20%E4%B8%8A%E7%9A%84%20JConsole%20%E7%9B%91%E6%8E%A7%20Informatica%20Java%20%E8%BF%9B%E7%A8%8B.png)
我在让 JConsole 连接到 Java 进程时遇到了问题。让我们从基础开始...
Java 版本
从下面的路径可以看出,我们正在运行带有打包 Java 的 Informatica。
E:\Informatica\9.1.0\java\bin>java.exe -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
Java 进程
我们的 Java 进程由以“UserX”身份运行的 Windows 服务生成。以下是两个进程命令,如下所示wmic process list
。
E:\Informatica\9.1.0\java\bin\java -XX:GCTimeRatio=9 -Xmx512M -classpath E:\Informatica\9.1.0\services\shared\jars\infatomcatbootstrap.jar;E:\Informatica\9.1.0\tomcat\bin\bootstrap.jar -Dcatalina.base=E:\Informatica\9.1.0\tomcat\temp_AdminConsole -Dcatalina.home=E:\Informatica\9.1.0\tomcat -Djava.io.tmpdir=E:\Informatica\9.1.0\tomcat\temp_AdminConsole\temp -Djava.util.logging.config.file=E:\Informatica\9.1.0\tomcat\temp_AdminConsole\conf\logging.properties -DINFA_HOME=E:\Informatica\9.1.0 -DINFA_DOMAINS_FILE=E:\Informatica\9.1.0\domains.infa -Duser.dir=E:\Informatica\9.1.0\tomcat\bin -Dcom.informatica.imf.encryption.provider=com.informatica.imf.icore.impl.IEncryptionProviderImpl -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager com.informatica.isp.tools.tomcatstarter.InfaTomcatBootstrap 启动
E:\Informatica\9.1.0\java\bin\java -Xmx4096m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -XX:MaxPermSize=512m -classpath E:\Informatica\9.1.0\services\shared\jars\infatomcatbootstrap.jar;E:\Informatica\9.1.0\tomcat\bin\bootstrap.jar -Dcatalina.base=E:\Informatica\9.1.0\tomcat\temp\AS_GProd -Dcatalina.home=E:\Informatica\9.1.0\tomcat -Djava.io.tmpdir=E:\Informatica\9.1.0\tomcat\temp\AS_GProd\temp -Djava.util.logging.config.file=E:\Informatica\9.1.0\tomcat\temp\AS_GProd\conf\logging.properties -DINFA_HOME=E:\Informatica\9.1.0 -DINFA_DOMAINS_FILE=E:\Informatica\9.1.0\domains.infa -Duser.dir=E:\Informatica\9.1.0\tomcat\bin -Dcom.informatica.imf.encryption.provider=com.informatica.imf.icore.impl.IEncryptionProviderImpl -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager com.informatica.isp.tools.tomcatstarter.InfaTomcatBootstrap 启动
问题
当我打开 JConsole(作为 UserX)时,我可以看到所有 Java 进程,但它们都显示为灰色,并显示一条消息 此进程上未启用管理代理。我明白这条信息的意思,但我确实不是理解管理代理为何没有运行。我的理解是,所有 Java SE 6+ 进程默认都有一个“可附加”管理代理,无需手动将其打开。我遗漏了什么?
关于让 JConsole 正常工作的附注
不确定这是否相关,但我正在远程连接到计算机,并且我们的管理模板\Windows 组件\终端服务\临时文件夹组策略已配置,因此我获得了一个唯一的临时目录。例如:Temp\2 或 Temp\3。我必须在终端中将其更改为 Temp\,然后从该终端启动 JConsole,以便 JConsole 找到 JMV 吐出的 pid 文件。