
マルチスレッドを有効にして大規模なアーカイブを圧縮しようとしていますが、システムが停止し続け、メモリが不足します。
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)でこれを試してみましたが、/swapfile
RAM全体の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
。