某天actived mq服务器磁盘报警了,去服务器上面,经过检查发现Activemq ***/data/kahadb目录下面占用了大量空间,最后定位到是db-*.log过多导致的。
这个文件看似是日志文件,但是不能轻易删除的。
它包含了待处理的订阅信息,删除掉它可能会导致数据丢失,也就是说你的未消费队列越多,那么这个日志也就越大,
同时data-<id>.log默认情况下,将每 30 秒清理一次未引用的 KahaDB 日志日志文件
解决办法就是:
登录mq控制台
找到那个很多Number Of Pending Messages 的队列,点击purge清除掉(我这里是测试环境,确认过可以删除的,如果是生产,要找出队列没被消费的原因,解决故障,队列被消费了日志也一样会被清理掉)
过一会再看,db-*.log就自动清理了