1

如果我遍历一个集群,使用以下代码:

for (ODocument document : m_database.browseCluster(clusterName)) {
    // ...
}

我观察到性能非常差(大约每秒获取 10 条记录),但前提是为 Java 进程分配了足够的内存。如果我将内存限制为 64mb - 一切都运行得非常快。

正如我从分析器中看到的那样,在性能不佳的情况下,OFileMMap.map 经常被调用。并且 channel.map(....) 消耗了大部分时间。

如果我通过设置 file.mmap.strategy=4 完全禁用 mmap - 一切都变得越来越快,但不像 mmap 和受限内存分配那样快。

有任何想法吗?

4

0 回答 0