求助:ActiveMQ内存不能释放问题

Y930812 2012-12-03 04:52:09
ActivemQ内存收发消息之后一直不能够释放~

下图是刚打开ActiveMQ时的内存大小。


下图是成功收发四十万条消息的内存, 并且内存一直不能够释放,delete掉消息也不释放,
我用的是ActiveMQ自己wab管理界面收发的消息 。 版本5.7 , 一直收发消息,内存不断增长,
最后导致卡死。 这不应该啊
求助大神,这个问题怎么解决!
...全文
4502 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
猿人林克 2014-11-25
  • 打赏
  • 举报
回复
目前发现activeMq是有这个问题,我们现在用queue都是每天几千条每月几万条吧,内存越吃越多,到时候就会堵了。 不过既然用了queue,这种异步的东西一般都是不太重要的东西,不要求实时性,一般堵了我们的运维重启一下就好了,堵了的消息也会都被消费掉。 正常来说我们这个量每个月的例行运维重启就可以把这个问题忽略掉,几乎没有堵的时候
赏金--猎人 2013-03-04
  • 打赏
  • 举报
回复
不知lz是怎么解决的?我也遇到同样的问题了,而且我的数据是一直再发的,最后出现异常: 存储空间不足,无法处理此命令
aoyou_jin 2012-12-12
  • 打赏
  • 举报
回复
如果我说的有效 ,请到百度知道里把你提问的这个问题给结掉,谢谢啊
aoyou_jin 2012-12-12
  • 打赏
  • 举报
回复
楼主,你的回复我先看了一下,ActivemQ内存使用过程中内存只增不见的原因的多半于JVM的设置是有很大的关系的,我也下了一个ActivemQ 5.7的测试了一下,默认未做任何修改的情况下能看到在 activemq.bat 批处文件中有个来设置 初始的JVM Heap的地方: if "%ACTIVEMQ_OPTS%" == "" set ACTIVEMQ_OPTS=-Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties 上面意思是 在没有设置环境变量"ACTIVEMQ_OPTS"的情况下,默认设置: -Xms1G -Xmx1G : JVM默认分配的初始内存为1G 最大内存为1G 不知道楼主的机器物理内存是多大的?理论上将 最大的JVM堆内存 分配值不超过物理内存的80%,按CUP性能来调整,具体得慢慢测试出一个合理的值(只要不宕机就可以了) 为什么会出现java.exe进程占用内存只增不减的情况?原因可能是 结论:java虚拟机有一个回收机制,必须在回收的时间跟频率上寻找一个平衡点,初始内存太大,回收频率慢,太小,回收频率快,都会影响服务器的运行,因此,开始我们设置太大的初始内存,java回收的太慢,导致了垃圾内存无法回收,累积起来最好有新的进程过来就没有剩余的内存为其分配,所以服务器就宕掉了。
段传涛 2012-12-12
  • 打赏
  • 举报
回复
申请 完成之后 kill 不掉那个进程吗? 贴你的代码
Y930812 2012-12-04
  • 打赏
  • 举报
回复
为什么没人回~~~~~

1,237

社区成员

发帖
与我相关
我的任务
社区描述
企业软件 中间件技术
社区管理员
  • 中间件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧