问题:用得越久是不是内存占用越多?
这个问题要分几部分讲:
1、会不会因为消息内存而变多?
不会。FolkMQ 就像“水管”一样,水流过后(消费掉了)。“管”里不会留东西。
2、什么情况内存会变多?
还是讲“水管”,如果流入的水一直没流出去(没消费掉)。水管就会积水,还可能会暴掉(看内存情况)。
3、内存机制是怎么样的?
这个跟 jvm 的机制。jvm 在内存不够用时,每次会向系统申请一倍的内存,先占着(好像是这样的)。所以,占用内存,有使用内存又是两码事情。
占用内存,只在没有越界会比较稳。使用内存,会随消息量与 gc 不断变化。