levelDB:.sst 文件在关闭 DB 后仍然打开
levelDB: .sst files are still opened after closing DB
我试图关闭 DB 和它生成的所有打开的文件,但是 .sst
个文件仍然打开。
- 什么是
.sst
文件? (供 LevelDB 使用)
- 为什么我关闭数据库后仍然看到它们?
- Who/what 关闭它们?
我想几天后运行我最终会得到org.iq80.leveldb.DBException: IO error: Too many open files
异常!
删除数据库处理程序后将关闭所有 sst 文件。
但是 sst 文件仍在您的磁盘上。您可以尝试 DestroyDB
删除所有数据库文件。
您可以在Options
中设置max_open_files
以避免打开数据库时出现IO error: Too many open files
。
1.什么是 .sst 文件? (供 LevelDB 使用)
.sst
应该将您的数据存储在磁盘上。
2。为什么我关闭数据库后仍然看到它们?
leveldb
将文件存储在磁盘上,关闭数据库只是关闭操作它的句柄,而不是删除数据。就像你关闭mysql
daemon时,你并没有真正删除数据,重新启动时你可以访问它。
3。 Who/what 关闭它们?
打开数据库实例并保存 .sst
个文件的文件描述符的进程将关闭它们。
您可能关心您在标题中提出的问题,"levelDB: .sst files are still opened after closing DB",通常情况下,文件描述符会被关闭,但文件不会被关闭。如果它们仍然打开,请使用 lsof
找出打开它们的进程。
我试图关闭 DB 和它生成的所有打开的文件,但是 .sst
个文件仍然打开。
- 什么是
.sst
文件? (供 LevelDB 使用) - 为什么我关闭数据库后仍然看到它们?
- Who/what 关闭它们?
我想几天后运行我最终会得到org.iq80.leveldb.DBException: IO error: Too many open files
异常!
删除数据库处理程序后将关闭所有 sst 文件。
但是 sst 文件仍在您的磁盘上。您可以尝试 DestroyDB
删除所有数据库文件。
您可以在Options
中设置max_open_files
以避免打开数据库时出现IO error: Too many open files
。
1.什么是 .sst 文件? (供 LevelDB 使用)
.sst
应该将您的数据存储在磁盘上。
2。为什么我关闭数据库后仍然看到它们?
leveldb
将文件存储在磁盘上,关闭数据库只是关闭操作它的句柄,而不是删除数据。就像你关闭mysql
daemon时,你并没有真正删除数据,重新启动时你可以访问它。
3。 Who/what 关闭它们?
打开数据库实例并保存 .sst
个文件的文件描述符的进程将关闭它们。
您可能关心您在标题中提出的问题,"levelDB: .sst files are still opened after closing DB",通常情况下,文件描述符会被关闭,但文件不会被关闭。如果它们仍然打开,请使用 lsof
找出打开它们的进程。