Nacos内部确实使用了RocksDB作为其存储引擎的一部分,主要用于配置信息和元数据的持久化存储。根据提供的知识内容:
问题分析: 在讨论Nacos内存占用过大的问题时,提到了RocksDB申请的直接内存是其中一个方面,尽管它默认占用128M且实际占用通常不大,可以基本忽略不计。
解决方案提及: 虽然Nacos使用了RocksDB,但关于RocksDB直接内存的调整,当前知识指出没有直接的调整方式,并且由于其占用相对较小(128M),在大多数情况下不是导致内存占用过大的主要原因。因此,针对RocksDB直接内存的优化或调整并不是解决Nacos内存占用过大的主要关注点。
针对Nacos内存占用过大的具体建议:
检查JVM堆内存设置: 确认Nacos启动时的JVM参数,确保堆内存大小不超过物理内存的70%。
限制NIO堆外内存: 设置-XX:MaxDirectMemorySize=参数,推荐值为堆内存的1/4,以避免NIO操作导致的内存溢出。
Metaspace调整: 虽然不是主要问题,但可根据需要适当调整Metaspace的大小,保持在100M以上,以避免类加载问题。
综上所述,Nacos确实内部使用了RocksDB,但在面对内存占用过大的问题时,更应优先考虑调整JVM堆内存和NIO堆外内存的设置。此回答整理自钉钉群“Nacos社区群2(已满,欢迎加4群:12810027056)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。