知识库

lucene-1.0 错误解释:打开文件过多

如果在 $NEO4J_HOME/logs/debug.log 中遇到类似 'Too many open files' 的错误,如下所示:

Caused by: java.nio.file.FileSystemException: /data/neo4j/db/schema/index/lucene_native-2.0/1612/lucene-1.0: Too many open files
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:427)
    at java.nio.file.Files.newDirectoryStream(Files.java:457)

可以通过在您的 $NEO4J_HOME/conf/neo4j.conf 中设置此参数来解决:

dbms.jvm.additional=-Dorg.neo4j.io.pagecache.implSingleFilePageSwapper.channelStripePower=0

如果没有此参数,对于每个索引,我们将为一个文件维护多个打开的文件句柄,其中每个句柄负责文件的一部分。而如果将参数设置为如上所示,则每个文件将只有一个打开的文件句柄,从而减少打开的文件句柄数量。

需要注意的是,在 Neo4j 4.0 中,此参数将自动默认为 0。

© . All rights reserved.