我想连接到在AIX上运行的Java J9 JVM版本7。
将Java应用程序配置为启用运行状况中心代理,并且系统报告JMX端口已打开。
但是,当我启动通过更新站点安装到Eclipse实例的Health Center客户端时,在JMX连接向导中输入主机名和端口号,它将开始从我指定的端口进行扫描,直到portnr + 100,然后然后它说他找不到JVM。
我想念什么吗?
AIX上的Java版本
java version "1.7.0"
Java(TM) SE Runtime Environment (build pap6470_27-20131115_04)
IBM J9 VM (build 2.7, JRE 1.7.0 AIX ppc64-64 Compressed References 20131114_175264 (JIT enabled, AOT enabled)
J9VM - R27_Java727_GA_20131114_0833_B175264
JIT - tr.r13.java_20131113_50523
GC - R27_Java727_GA_20131114_0833_B175264_CMPRSS
J9CL - 20131114_175264)
JCL - 20131113_01 based on Oracle 7u45-b18de here
用于启动Java应用程序的命令行
java -Xmn100m -Xms400m -Xmx400m -Xhealthcenter ...
有关Health Center代理的JVM日志
Mar 18, 2016 6:15:09 PM com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean <init>
INFO: Agent version "2.2.0.20131003"
Mar 18, 2016 6:15:09 PM com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean startMBeanServer
INFO: IIOP will be listening on the next available system assigned port. Use com.ibm.java.diagnostics.healthcenter.agent.iiop.port to specify a port
Mar 18, 2016 6:15:09 PM com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean startAgent
INFO: Health Center agent started on port 1972.
代理端口在服务器计算机上打开
(1) machine:user1:/home/user1> lsof -nP | grep LISTEN | grep 1972
java 30474378 user1 77u IPv6 0xf1000e000a345bb8 0t0 TCP *:1972 (LISTEN)
(1) machine:user1:/home/user1> ps ax | grep 30474378
24707098 pts/3 A 0:00 grep 30474378
30474378 - A 0:13 /usr/bin/java -Xmn100m -Xms400m -Xmx400m -Xhealthcenter -
(1) machine:user1:/home/user1>
从客户端计算机打开的端口:
Starting Nmap 6.47 ( http://nmap.org ) at 2016-03-18 18:19 BRT
Nmap scan report for machine (172.1.1.10)
Host is up (0.024s latency).
Not shown: 973 closed ports
PORT STATE SERVICE
...
1972/tcp open intersys-cache
...
Nmap done: 1 IP address (1 host up) scanned in 4.24 seconds
编辑:我意识到AIX机器上打开的端口在IPv6上侦听。我添加了
-Djava.net.preferIPv4Stack=true
属性,然后该代理开始侦听IPv4端口:(1) machine:user1:/home/user1/log> lsof -nP | grep LISTEN | grep IPv4 | grep 1972
java 57016438 user1 77u IPv4 0xf1000e0004dbd3b8 0t0 TCP *:1972 (LISTEN)
(1) machine:user1:/home/user1/log>
但是,但是,Health Center客户端在该端口上找不到JVM。
最佳答案
该JVM附带的Health Center代理已经很旧了(将近3 1/2年)。您是否可以按照https://www.ibm.com/support/knowledgecenter/SS3KLZ/com.ibm.java.diagnostics.healthcenter.doc/topics/installingagent.html上的说明将代理升级到最新版本,然后查看问题是否仍然出现?
关于java - 如何将Health Center连接到AIX上的IBM J9 7,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36095809/