gpt4 book ai didi

java - levelDB:.sst 文件在关闭 DB 后仍然打开

转载 作者:行者123 更新时间:2023-12-05 06:41:40 24 4
gpt4 key购买 nike

我试图关闭 DB 和它生成的所有打开的文件,但是 .sst 文件仍然打开。

  1. 什么是.sst 文件? (供 LevelDB 使用)
  2. 为什么我在关闭数据库后仍然看到它们?
  3. 谁/什么关闭了它们?

我想在运行几天后,我最终会得到 org.iq80.leveldb.DBException: IO error: Too many open files 异常!

最佳答案

<强>1。什么是 .sst 文件? (供 LevelDB 使用)
.sst 应该将您的数据存储在磁盘上。

<强>2。为什么我关闭数据库后仍然看到它们?
leveldb 在磁盘上存储文件,关闭DB只是关闭操作它的句柄,并不删除数据。就像当你关闭mysql守护进程时,你并没有真正删除数据,当你重新启动时你可以访问它。

<强>3。谁/什么关闭了它们?
打开 db 实例并保存 .sst 文件的文件描述符的进程将关闭它们。

您可能关心您在标题中提出的问题,“levelDB: .sst files are still opened after closing DB”,通常情况下,文件描述符将被关闭而不是文件。如果它们仍然打开,请使用 lsof 找出打开它们的进程。

关于java - levelDB:.sst 文件在关闭 DB 后仍然打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39893019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com