這里寫(xiě)描述
生產(chǎn)端持續(xù)生產(chǎn),消費(fèi)端持續(xù)消費(fèi),長(zhǎng)時(shí)間消費(fèi),消費(fèi)端就會(huì)掛掉不消費(fèi)
重啟后可以消費(fèi),一個(gè)小時(shí)后必掛掉,導(dǎo)致消息積壓
php start.php status
lsof -np pid
有問(wèn)題的時(shí)候php start.php status 截圖
有問(wèn)題的時(shí)候strace+lsof下消費(fèi)進(jìn)程,截圖進(jìn)程系統(tǒng)調(diào)用和資源使用情況
命令strace -ttp pid
lsof -np pid
注意,是有問(wèn)題時(shí)執(zhí)行命令
你要strace 的是monitor進(jìn)程,monitor進(jìn)程不參與消費(fèi)。你應(yīng)該strace consumer進(jìn)程,找那種顯示busy的comsumer進(jìn)程pid
根據(jù)status結(jié)果,可能是你進(jìn)程調(diào)用什么東西超時(shí)了,參考這個(gè)文檔排查
http://www.wtbis.cn/doc/workerman/debug/busy-process.html
如果strace命令一直卡住不輸出,就再開(kāi)一個(gè)終端執(zhí)行kill -SIGALRM pid
,然后再看strace輸出。
如果排查出來(lái)后說(shuō)明下原因,方便大家參考。