开发者社区 > 云原生 > 正文

rocketmq_client.log文件占用的缓存/缓冲区内存太多

rocketmq_client日志文件实在消耗了太多cache/buffer了,我容器的jvm内存使用才500M,但是rocketmq的日志buffer/cache就消耗了2G的内存. rocketmq_client.log占用内存我勉强还可以理解, 但是为什么rollOver后的日志文件rocketmq_client.log.1,rocketmq_client.log.2 也占用了那么多内存,这两个文件已经没有任何读写了

  1. rocketmq_client.log 100% cached/buffered in memory
  2. rocketmq_client.log.1 100% cached/buffered in memory
  3. rocketmq_client.log.2 45.9% cached/buffered in memory

[root@node135 f91415]# /usr/local/bin/vmtouch ./diff/root/logs/rocketmqlogs/rocketmq_client.log Files: 1 Directories: 0 Resident Pages: 198301/198301 774M/774M 100% Elapsed: 0.03113 seconds [root@node135 f91415]# /usr/local/bin/vmtouch ./diff/root/logs/rocketmqlogs/rocketmq_client.log.1 Files: 1 Directories: 0 Resident Pages: 262145/262145 1G/1G 100%
Elapsed: 0.042067 seconds [root@node135 f91415]# /usr/local/bin/vmtouch ./diff/root/logs/rocketmqlogs/rocketmq_client.log.2 Files: 1 Directories: 0 Resident Pages: 120207/262145 469M/1G 45.9% Elapsed: 0.020819 seconds

echo 1 > /proc/sys/vm/drop_caches;

如果我手动清除cache,那就恢复正常了,但是时间久了还是会出现同样的问题 ,cache还是会一直增长,不会有任何减少

减少log文件的buffer/cache内存占用

docker jdk image : openjdk:8 rocketmq-client : 4.3.2 os: centos7 linux-4.4

原提问者GitHub用户zhxjdwh

展开
收起
芬奇福贵 2023-05-26 10:54:26 222 0
1 条回答
写回答
取消 提交回答
  • 这里的缓存/缓冲区与jvm无关,它由操作系统管理,用于加速读/写。它不会影响rocketmq客户端的工作。忽略它。

    原回答者GitHub用户ni-ze

    2023-05-26 17:15:41
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关产品

  • 云消息队列 MQ
  • 相关电子书

    更多
    PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
    Kubernetes下日志实时采集、存储与计算实践 立即下载
    日志数据采集与分析对接 立即下载