
私はtmpfsフォルダを動的に圧縮する方法を探しています。大量のデータを含むローカルキャッシュフォルダとして使用したいです。私はRedisを使ってLZF圧縮を行う方法があることを知っていますが、tmpfsを使用することを好みます。
答え1
1つをインストールできます圧縮ファイルシステムtmpfsの上。
それでも維持されれば、fusecompress
目的に合致することです。
残念ながら古いと思われるので、他の実装が必要です(パフォーマンス上の理由からFUSEベースのファイルシステムを使用しないことをお勧めします)。
Btrfs
と両方が機能する必要があるようですZFS
。しかし、使用についての詳細なアドバイスをすることはできません。
もちろん、動作できる他のファイルシステムもありますが、どのソリューションが正しい機能を持っているかを知ることは簡単ではありません。e2コンプレッサーたとえば、ファイルは圧縮されますが、ディレクトリは圧縮されません。ユースケースによっては、ディレクトリを圧縮する必要があります。多くの圧縮ファイルシステムは読み取り専用(例squashfs
:)であり、静的イメージ内の組み込みデバイスやライブデスクトップセッションの実行などのアプリケーションを対象としているため除外されます。
鍵は性能です。十分速いかどうかは要件と実装によって異なりますので、テストする必要があります。
答え2
最近私は使っていますzram発電機zstd
カーネルビルド用の圧縮ディレクトリを作成します。現在はそうですが、remount -o rw,noatime,discard,nodev,nosuid /zram/mountpoint
この機能は次のようになります。まもなく含める予定のようにmount-option
。
[~/build]$ zramctl
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram2 zstd 5.9G 1.3G 1.3G 1.3G 16 /var/build/sources
/dev/zram1 zstd 15G 1.2G 289.1M 302.9M 16 /var/build/makepkg
/dev/zram0 zstd 3G 9.1M 8.3M 8.7M 16 [SWAP]