該場景的一些背景知識。
我有一個在 RH6.5 上運行的分散式應用程序,它使用 JMS (OpenMQ 4.5.2) 在主機之間發送訊息。
一台主機(主機 A)從路由器和交換器等網路元件接收訊息,並將該訊息中繼到另一台主機(主機 B)進行處理。
JMS正在主機 B 上運行。
有時,我觀察到訊息流逐漸停止,儘管主機 A 仍在以相似的速率從網路接收數據,但沒有任何資訊到達主機 B。發生這種情況時,主機 B 上的 JMS 進程會佔用所有 CPU。
使用netstat -o,我還注意到主機B端的JMS套接字的Recv-Q非常高:
Proto Recv-Q Send-Q Local Address Foreign Address State Timer
tcp 268439 0 HostB:9030 HostA:53712 ESTABLISHED off (0.00/0/0)
在主機A側,Send-Q也為高:
Proto Recv-Q Send-Q Local Address Foreign Address State Timer
tcp 0 68736 HostA:53712 HostB:9030 ESTABLISHED probe (17.25/0/0)
我還注意到計時器中的值“probe”。在網上搜尋我發現關於這個值的含義的資訊很少。
所以,問題是,
「probe」的計時器值意味著什麼?