消息隊列返回錯誤:Resource temporarily unavailable

這個報錯的產生原因是:消息隊列的數據太多,導致了數據處理不過來,而消息的發送端仍然往消息隊列中發送消息,於是就會返回此錯誤;

ulimit -n什麼的都是查看或者修改這些上限什麼的,但是在實際運行過程中,修改這個值,只能讓程序拖延而已,並不能真正的解決問題;

ipcs -a可以查看是否是消息隊列異常,當然這個需要你能登陸shell的情況下;

然後可以對應ipcs -l查看進程號,再對應ps查看那個進程導致的;

解決這個問題需要從消息隊列的獲取端入手,如果消息隊列被塞滿,那麼肯定是獲取端獲取的花費時間太久。查看獲取端什麼地方有,等待,延時,卡頓的地方,修改這些地方就可以解決問題;可以將接收端修改爲,如果有消息那麼一直獲取的狀態,就可以徹底解決問題;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章