xz: 1TB .tar圧縮時のOOM

xz: 1TB .tar圧縮時のOOM

マルチスレッドを有効にして大規模なアーカイブを圧縮しようとしていますが、システムが停止し続け、メモリが不足します。

OS: Manjaro 21.1.0 Pahvo    
Kernel: x86_64 Linux 5.13.1-3-MANJARO
Shell: bash 5.1.9
RAM: 16GB
|swapon|
NAME      TYPE   SIZE   USED   PRIO
/swapfile file   32G    0B     -2

2倍のRAM(32GB)でこれを試してみましたが、/swapfileRAM全体の90%以上が使用されていると、システムは停止し続け、/ swapfileは使用されないようです。

|xz --info-memory|
Total amount of physical memory (RAM) : 15910 MiB
Memory usage limit for compression: Disabled
Memory usage limit for decompression: Disabled

私はこの分野が初めてxzなのでご了承ください。しかし、メモリ使用量リミッタをグローバルに有効にし、物理メモリ(RAM)の合計に利用可能なスペースを考慮させる方法はありますか/swapfile

ベストアンサー1

からman xz

メモリ使用量

特に、古いシステムを使用しているユーザーは、メモリ使用量が非常に高く、迷惑になることがあります。不快な驚きを防ぐために、xzにはデフォルトで無効になっている内蔵メモリ使用量制限があります。

メモリ使用量の制限は、コマンドラインオプションを使用して有効にできます --memlimit=limit。環境変数を設定してデフォルトでリミッタを有効にする方が便利です XZ_DEFAULTS

おすすめ記事