728x90
우분투에서 pigz 설치 및 사용 방법 (병렬 gzip 압축)
pigz(Parallel Implementation of Gzip)는 기존 gzip과 호환되면서 멀티코어를 활용해 훨씬 빠르게 압축/해제할 수 있는 도구입니다.
1. pigz 설치
우분투에서는 기본 패키지로 제공됩니다.
sudo apt update
sudo apt install -y pigz
설치 확인
pigz --version
2. 기본 사용법
파일 압축
pigz example.txt
- 결과: example.txt.gz
- 기본적으로 원본 파일은 삭제됨
원본 파일 유지하면서 압축
pigz -k example.txt
압축 해제
pigz -d example.txt.gz
또는 gzip 호환 명령
pigz -d example.txt.gz
주요 옵션 정리
- -p : N 병렬 스레드 수 지정
- -k : 원본 파일 유지
- -d : 압축 해제
- -f : 강제 덮어쓰기
- -v : 상세 출력
- -r : 디렉토리 재귀 처리
- -b N : 블록 크기 설정 (기본 128KB)
728x90
3. 병렬 처리 설정 (성능 핵심)
pigz는 기본적으로 모든 CPU 코어를 사용합니다.
특정 코어만 사용
pigz -p 4 example.txt
서버 부하를 고려해 코어 수를 제한하는 것이 실무에서 중요합니다.
4. tar와 함께 사용하는 방법 (실무 핵심)
단일 파일이 아닌 디렉토리는 tar와 함께 사용합니다.
압축
tar cf - /data | pigz > data.tar.gz
또는 (더 간단한 방법)
tar -I pigz -cf data.tar.gz /data
압축 해제
pigz -dc data.tar.gz | tar xf -
또는
tar -I pigz -xf data.tar.gz
5. 표준 입력/출력 활용 (파이프 처리)
pigz는 스트림 처리에 매우 강력합니다.
로그 실시간 압축
cat access.log | pigz > access.log.gz
6. gzip과의 차이점
| 항목 | gzip | pigz |
| 압축 방식 | 단일 스레드 | 멀티 스레드 |
| 속도 | 느림 | 빠름 |
| 호환성 | 표준 | gzip 완전 호환 |
생성된 .gz 파일은 서로 완벽하게 호환됩니다.
7. 성능 팁
CPU 많은 서버 → pigz 효과 극대화
디스크 I/O 병목 시 효과 제한
적절한 스레드 수 설정 권장
pigz -p $(nproc) large.log
pigz는 gzip과 호환되는 명령어이므로 gzip과 동일한 방식으로 사용할 수 있습니다. 추가로 pigz는 gzip보다 더 빠른 압축 속도를 제공할 수 있습니다.
728x90
'리눅스' 카테고리의 다른 글
| [WIP] GitLab Runner를 실행하고 등록하는 방법 (0) | 2026.04.30 |
|---|---|
| [WIP] GitLab Runner 설치 및 등록하기 (0) | 2026.04.30 |
| [WIP] Docker 컨테이너를 Privileged 모드로 실행하는 방법 (0) | 2026.04.30 |
| [WIP] OpenSSL 명령어로 SSL 인증서 도메인 및 만료일 확인하는 방법 (0) | 2026.04.29 |
| [WIP] zabbix php-fpm의 성능 상태를 모니터링하는 방법 (0) | 2026.04.29 |