多くの(CPUコア数まで)プロセス(同じ実行可能ファイル)間で共有される巨大な(> 10GB)sqliteデータベースがあります。これは特殊なアプリケーションであるため、RAMは問題ではなく、データベースの多くをメモリにキャッシュしたいと思います。私はそれを見つけてPRAGMA cache_size;
うまく使用していますが、多くのプロセスのそれぞれが独自のプライベートキャッシュを持っているため、RAMの使用量が不均衡になります。
今、SQLite共有キャッシュモードを見つけましたが、これが異なるプロセスに適用されるのか、1つのプロセスのスレッドだけに適用されるのかわかりません。私は後者を確認するいくつかのテストを実行しましたが、私が何か間違ったことをしているのか、これを機能させるために何か他のことをする必要があるのかわかりません。