Mnesia告警日志含义咨询

emqx集群版本5.6.0

经常出现告警日志:

[warning] Mnesia overload: {mnesia_tm,message_queue_len,
[207593108,208031290]}

请问是什么原因引起的,这个message_queue_len代表什么含义?

{mnesia_tm, message_queue_len, [Prev, Len]}, 分别对应 mnesia_tm 进程上一次和本次的消息邮箱(队列)的长度。超过 2 亿的长度一定是严重过载了。

你现在需要检查一下系统的运行状况:

./bin/emqx ctl observer status

然后输入 mq 回车按消息队列排序。

请问这个消息箱里面是存储的向客户端发送的消息吗?集群中这个现象通常只在某几个节点上出现

./bin/emqx ctl observer status
执行这个命令提示无法连接emqx,或者没有响应

不是,我指的是 emqx 内部某个进程的邮箱,mnesia_tm 是 erlang 内部的 mnesia 事务的管理器。现在情况是不知道是什么功能把 mnesia_tm 卡住了。

现在你按一下回车,然后输入 C 回车,看看当前这个 mneisa_tm 进程的调用栈。

你可以直接联系我微信,我远程帮你看看。