DBを閉じようとしましたが、開いているファイルはすべて開かれましたが、.sst
のファイルはまだ開いています。levelDB:DBを閉じた後でも.sstファイルが開いています
.sst
とは何ですか? (LevelDB用)- DBを閉じた後でも引き続きなぜそれが見えますか?
- 誰が/それらを閉じるのですか?
私は数日後に私はorg.iq80.leveldb.DBException: IO error: Too many open files
の例外を最終的に得ると思います!
DBを閉じようとしましたが、開いているファイルはすべて開かれましたが、.sst
のファイルはまだ開いています。levelDB:DBを閉じた後でも.sstファイルが開いています
.sst
とは何ですか? (LevelDB用)私は数日後に私はorg.iq80.leveldb.DBException: IO error: Too many open files
の例外を最終的に得ると思います!
1. .sstファイルとは何ですか? (LevelDB用)
.sst
は、あなたのデータをディスクに保存することになっています。
2.私はDBを閉じた後でもまだそれらを見ますか?
leveldb
ファイルをディスクに保存します。DBを閉じると、データを削除するのではなく、操作するためにハンドルを閉じるだけです。あなたがデーモンmysql
デーモンをシャットダウンしたときと同じように、あなたは本当にデータを削除していない、再起動時にアクセスすることができます。
3.誰が/何を閉じますか?
dbインスタンスを開き、ファイル記述子が.sst
のファイルを保持するプロセスによって閉じられます。
「levelDB:DBを閉じた後でも.sstファイルが開かれています」通常、ファイルディスクリプタは閉じられますが、ファイルは閉じられません。開いている場合は、lsof
を使用して開かれたプロセスを確認してください。
すべてのsstファイルは、DBハンドラが削除された後に閉じられます。 しかし、sstファイルはまだディスク上にあります。 DestroyDB
を試して、すべてのdbファイルを削除することができます。
Options
にmax_open_files
を設定して、オープンdbの場合はIO error: Too many open files
を避けることができます。
ありがとうございます! しかし、私はleveldbファイルを削除したくありません。私はそれを再開したい。 – user2302639