我试图了解 OpenDJ 如何与 java vm 一起处理 dbcache 的内存分配。不过,有几件事我无法完全理解。如此处所述,可以分配一些预定义的 RAM 仅用于缓存数据库。它还在这里和那里提到,OpenDJ可能会尝试在内存中存储尽可能多的 db 文件。到目前为止有2个问题:
- dbcache 实际上是堆的一部分吗?如果答案是“是”,那么它的内存究竟分配在哪里?即,是老一代空间、永久代空间,还是年轻一代空间?或者可能它们都不是,并且在通常的堆内存区域中看不到(这意味着它没有放在堆中,而是在它自己的内存空间中,其大小只是使用设置从堆的大小派生而来这篇文章提到)?
- 我能否以某种方式确保(即 OpenDJ 中是否有特定设置)我的完整数据库在服务启动期间被缓存,并确保否则(即如果分配的 RAM 大小设置不正确,或者没有足够的 RAM ) 服务根本无法启动?
任何帮助表示赞赏。