[Linux Mint 20.1、16GB RAM、16GBスワップ]
最近、システム(ルートおよびバックアップパーティション)をBTRFSに変換しました。ルートの一部のスナップショットをバックアップドライブに保存しようとしましたが、次のコマンドのメモリ使用量が原因でシステムがクラッシュしました。
btrfs send /.snapshots/98/snapshot | btrfs receive /media/backups/@root/.snapshots/98
このコマンドはほぼ20GBのRAMを占有し、その過程でシステムが数回完全に停止しました。私のルートパーティションはスナップショットを除いて約11 GBを使います。
次のテストは、次のようにスクリプトで同じコマンドを使用することです(元の理由はsystemd-run
メモリ制限をテストして設定することでした)。
#!/usr/bin/fish
btrfs send /.snapshots/98/snapshot | btrfs receive /media/backups/@root/.snapshots/98
このスクリプトを実行すると、合計8MBが使用され、4倍速くなります。同じテスト環境で実行されていることを確認するために、元のバックアップスナップショットが削除されコミットされていることを確認しました(btrfs subvol delete -Cv
)。また、bashで同じテストを実行して同じ結果を得ました。
更新:すべてのテストを同じにするためにエイリアス(to)の代わりに再実行しfish
ました。結果は同じです。bash
/usr/bin/btrfs
sudo btrfs
アップデート#2:以前のアップデートにエラーがありました。