問題の概要:Ratarmountのメモリ使用量を減らす方法はありますか?メモリ使用量に影響を与える要因は何ですか(tarサイズを除く)?
質問の編集/説明:常駐メモリを最小限に抑えるためにどのような方法を使用できますか?
私の状況:
- 私はRatarmountを使って多数のtarファイルをマウントしています(たとえば、800GBが私が持っている最大のファイルです)。
- 6x6TBドライブ、20コア、256GB RAMを搭載したサーバーがあります。
- 私はそのようなtarファイルを約20-25tbほどインストールしました。
- 上記のtarファイルの数をインストールした後、私のサーバーのRAMは最大容量の〜250 GBに達しました。
- tarファイルには、多数の(おそらく数億個)の小さなファイルとフォルダがあります。
私の質問: Ratarmountのメモリ使用量は240GBに達し、サーバーメモリをほとんど使い果たしました。さらに、5〜10 TBのtarファイルを追加でインストールする必要があります。
これは、使用しているメモリ量と少し一致しないようです。たとえば、最初にマウントすると、インデックスファイルからマウントするよりも多くのメモリが使用されます。効率を下げるために何を試すことができるかは私にとっては少し謎です。どんなアイデアでも開いています。プロジェクトを完了するには、メモリ使用量を約25%削減する必要があります。
サイドノート...私は見たユーザーラタヒルが誕生しました。これは素晴らしいプログラムであり、私を完全に救ってくれましたが、その人に連絡する方法や、ここやgithubで人々に連絡する確立された/許可された方法が何であるかわかりません。
答え1
私ratarmount
は10Mファイルでテストしました。stat
すべてのファイルを事前に処理しないと、ratarmount
最終的に置き換えられます。
したがって、非常に簡単な解決策は、サーバーにスワップスペースを追加することです。使用すると、zswap
物理ディスクに触れる必要がなくなります。
また、インデックス+マウントを実行すると、単にマウントを実行するよりも多くのメモリが必要であることを確認しました。これはメモリリークがあることを意味しますratarmount
(おそらく、データ構造がコピーされ、不要なコピーが破壊されていない可能性があります).したがって、インデックス + マウントを行った後、すぐにマウント解除して再マウントすると、データ使用量を最小限に抑えることができます。