【问题标题】:ActiveMQ client blocking, temp storage usage in ActiveMQ reaches 100%ActiveMQ 客户端阻塞,ActiveMQ 中临时存储使用率达到 100%
【发布时间】:2018-10-31 20:25:22
【问题描述】:

我看到 ActiveMQ 5.15.3 中的临时使用率为 100%,而存储使用率仅为 29%。

我使用虚拟主题和队列,所有消息都是持久的。

我不确定为什么 activeMQ 使用临时存储..(临时用于存储非持久消息)

ActiveMQ 使用 mKahaDB 作为存储..

<persistenceAdapter>
 <mKahaDB directory="${activemq.base}/data/kahadb">
  <filteredPersistenceAdapters>
   <filteredKahaDB perDestination="true" >
     <persistenceAdapter>
       <kahaDB journalMaxFileLength="32mb" />
     </persistenceAdapter>
   </filteredKahaDB>
  </filteredPersistenceAdapters>
 </mKahaDB>
</persistenceAdapter>

不知道为什么会这样?

【问题讨论】:

    标签: activemq


    【解决方案1】:

    发现问题。

    ActiveMQ 启用了基于文件的光标,它正在使用临时存储并最终达到 100%,然后 activeMQ 停止运行。禁用后,临时存储不会用于持久消息。

    【讨论】:

      【解决方案2】:

      ActiveMQ 通过主题和队列向其他代理发送信号。这些通常是非持久的。最好的办法是复制 db 并打开它来查看 store 的内容。

      【讨论】:

      • Jonathan:我打开了 tmp_storage 文件夹中的日志文件。它有虚拟主题的消息。但理想情况下,如果我对 activemq 的理解正确,它们不应该最终出现在 tmp_storage 上,因为它们是持久消息。我的意思是这些消息应该在商店而不是 tmp 上。但是,我不知道为什么?
      • 嗯,我会打开一些 AMQ 日志记录或 tcpdumping 并验证您正在发送的消息是否真正标记为持久性。此外,您可以发布您的 activemq.xml
      猜你喜欢
      • 2015-10-19
      • 2011-02-12
      • 2015-11-17
      • 2014-01-26
      • 2015-01-19
      • 1970-01-01
      • 2017-09-14
      • 2021-05-16
      • 1970-01-01
      相关资源
      最近更新 更多