我们看到,对于向队列管理器开放的大约175个通道,大约有450个amqrmppa进程在运行,我不确定这个比例应该是多少?如果这个值太高,解决这个问题的最佳方法是什么,并能够确定哪个IP打开了多少amqrmppa进程?
我们在rhel7机器上使用MQ v9.1.0.6。
要了解哪些通道在amqrmppa
进程中运行,请使用以下命令:-
DISPLAY CHSTATUS(*) JOBNAME
它会给你输出像:-
AMQ8417I: Display Channel Status details.
CHANNEL(MQG1.TO.MQG2) CHLTYPE(SDR)
CONNAME(127.0.0.1(1702)) CURRENT
JOBNAME(00007DFC00000001) RQMNAME(MQG2)
STATUS(RUNNING) SUBSTATE(MQGET)
XMITQ(MQG2)
查看JOBNAME
字段,它是两个十六进制值(无论如何在Windows和Unix上(,包含amqrmppa
进程的进程ID,在我的示例中是0x00007DFC
,然后是该进程中的线程ID。
如果您在一个允许按任何字段对输出进行排序的工具中查看所有通道状态记录,请执行此操作,然后按作业名称进行排序,以查看按其内部运行的进程ID分组的所有通道。
令人惊讶的是,运行的amqrmppa
进程比活动通道多。通常,amqrmppa
进程将少于通道,因为多个通道将在一个amqrmppa
(ReMote Pool进程(内运行。这表明,也许您以前有更多的通道,因此需要更多的amqrmppa
进程,但现在这些通道中的大多数已经结束。我本以为;"空";amqrmppa
进程在不再有任何事情可做时结束,一小部分将留在后面开始的新通道中,但不是其中的200个。