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)으로 이 작업을 시도했지만 /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.

관련 정보