7z포맷으로 압축률 최대 옵션을 주고 압축을 하면 과부하가 걸립니다.

8,224 views
Skip to first unread message

fosin...@gmail.com

unread,
Mar 31, 2013, 6:46:46 AM3/31/13
to bandiz...@googlegroups.com
안녕하세요~
반디집 애용자 입니다 ^^
좋은 프로그램 정말 감사히 잘 쓰고 있습니다.

폴더 약 20개 정도에 jpg파일이 100개정도씩 총 용량 2.4기가 정도의 파일을 단일 7z파일로 압축을 할 때 생긴 문제점입니다.
제 컴퓨터 메모리 용량이 문제인지 잘 모르겠네요.

제 컴퓨터 사양입니다.
OS : Windows 8 x64
CPU : Intel i3-2120 코어2개(논리4개)
RAM : 4GB

압축을 잘 하다가 50%정도에 가서 과부하가 걸려서 컴퓨터의 반응이 현저히 느려집니다.
작업 관리자로 보면, 반디집이 사용하는 메모리가 3.1기가가 되면서 느려지는 것 같습니다.
해당 폴더들을 각각 별개의 7z 파일로 압축하면 해당현상이 일어나지 않습니다.

메모리 용량이 문제인 것 같기는 한데....
zip 포맷으로는 또 아무 문제가 발생하지 않습니다.
아무쪼록 해결 가능하다면 개선되었으면 합니다 ^^

반디집 정말 감사합니다~!!

Bandizip

unread,
Apr 1, 2013, 2:10:17 AM4/1/13
to bandiz...@googlegroups.com
현재 반디집은 7z 압축시 모든 쓰레드를 이용해서 압축을 하도록 되어 있으며,

이 과정에서 압축율 최대 옵션을 줄 경우 상당히 많은 CPU 와 메모리 자원을 필요로 하게 됩니다.


7Z 압축시 압축률 최대 옵션은 메모리가 충분한 시스템을 위한 옵션이므로, 해당 옵션 사용시

PC 가 너무 느려진다고 생각하시면 "보통" 옵션으로 압축을 해 주시기 바랍니다.




2013년 3월 31일 오후 7:46, <fosin...@gmail.com>님의 말:
> --
> Google 그룹스 '반디소프트-반디집' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> 이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 bandizip+u...@googlegroups.com에 이메일을
> 보내세요.
> 더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out을(를) 방문하세요.
>
>

John Song

unread,
Jan 27, 2014, 5:37:29 AM1/27/14
to bandiz...@googlegroups.com
역시나 검색해보니 저와 같은 문제점을 느끼신 분들이 있군요.
최대 압축률 옵션에 대해서 답변해주신 내용을 보면, 이 글에서는

7Z 압축시 압축률 최대 옵션은 메모리가 충분한 시스템을 위한 옵션이므로, 해당 옵션 사용시

PC 가 너무 느려진다고 생각하시면 "보통" 옵션으로 압축을 해 주시기 바랍니다.

이라 하셨고, 그리고 밑 링크에 나온 글에서는 다르게 말씀해 주셨네요.

 https://groups.google.com/forum/#!searchin/bandizip/메모리/bandizip/KLMe7CaMYlQ/7zWqfmz1_oYJ

7Z 압축시 압축 옵션을 최대로 설정한 경우

압축 속도를 최대한 빠르게 하기 위해서 매우 많은 메모리를 사용해서 압축을 하게 됩니다


즉, 해당 답변들을 통해서 압축 옵션 최대 = [메모리 고사양용  -> 압축 속도가 빨라짐].  이라는건 알겠습니다. 
그런데 답변 내용이 좀 뜬금없는게 저는 압축 옵션에 관한 내용이므로 ["최대 = 압축률이 높아짐"] 이라고 이해했었거든요?
실제 반디집 설정 부분을 봐도, "압축방법 항목에 : 압축하지 않음 / 빠르게 / 보통 / 압축률 최대" 라고 나와 있습니다. 
빠르게 , 보통은 속도에 관한 부분이라쳐도, 직접적으로 압축률이라는 단어가 명시적으로 들어간 이상 속도와 별개로 압축률에 대한 내용이라고 일반적으로 여겨지는게 맞다고 봅니다. 
그런데 답변에는 압.축.률 에 대한 내용은 없이 속도와 사양 이야기만 있으니 이용자 입장에서는 참 당황스럽네요.

Q 1. 압축률 최대 옵션이 고사양을 요구하는건 알겠습니다. 그래서 속도가 느려진다는 것도 이해했고요. 
그럼, 압축률 최대 옵션은 실제 압축률과는 별개로 고사양 유저의 속도향상을 위해서만 존재하는 겁니까?
즉. 위 4가지 옵션이 오직 작업 속.도에만 관계되는지 여쭈어봅니다.

Q 2. 연장되는 내용입니다만, 빠르게, 보통 옵션도 속도 변화 외에 압축이 적용이 되는지, 그럼 압축률 최대와 (속도가 아닌) 압축률만을 비교하면 어찌 차이가 있는지 궁금합니다.

Q 3. 사용자 입장에서는 가장 중요한건데, 압축률 최대 옵션이 실제 압축률이 가장 높은 옵션일 경우, 작업 시간은 더 걸리더라도 일반적인 옵션의 압축속도와 비슷하게 진행하여 컴퓨터가 멈춤상태에 처할 정도로 메모리 과부하를 걸리지 않게 옵션을 바꾸거나 따로 추가해주실 의양은 없으신지, 아니 꼭 추가해주실 수 없는지 요청해봅니다. 


John Song

unread,
Jan 27, 2014, 5:46:25 AM1/27/14
to bandiz...@googlegroups.com
참고로, 위 이유 때문에 반디집 오래전부터 이용해 왔음에도 V3zip도 같이 설치해 사용중입니다.

v3가 안철수 연구소에서 반디집을 모체로 만든거라 해도.. (첨엔 바이러스 검사 옵션이 있다길래 호기심에 설치했을 뿐입니다만)
옵션이나 기능적인 측면에서 역시 반디집이 더 낫다 생각하거든요.
동일기능 프로그램을 쓸데없이 중복운용하는 편이 아니라 v3zip을 지우려 해도,
장기간 사용하지 않을 파일들 보관 목적으로 압축프로그램을 사용하는 입장에서 압축률 최대시 컴퓨터 먹통상황까지 가니 울며 겨자먹기로 유지하고 있는 상황입니다.
 

droi...@gmail.com

unread,
Jan 27, 2014, 11:56:12 AM1/27/14
to bandiz...@googlegroups.com

장기간 사용하지 않을 파일들 보관 목적이라면 굳이 7z으로 압축하지 않는게 나을텐데요. http://www.bandisoft.co.kr/bandizip/help/7z/ (주의사항 참조)

(인터넷 전송도 아니고) 단순보관인데 뭔 상관이냐고 생각하실지 모르겠지만 Bit rot이란 현상이 있어서요...
http://maj3sty.tistory.com/969

그래도 굳이 7z형식으로 보관하시겠지만  V3zip보다는 7zip 옵션을 직접 조절해가면서 쓰시는게 나을것 같네요. (참고로 옵션 높게 주면 시스템 자원 쳐먹는 것 자체는 7-zip 고유특성이라 어쩔 수 없습니다. 그짓을 하기 때문에 압축률에 비해서는 빠른 속도를 자랑하는 것이고요.)


반디집 환경설정 -> 탐색기 메뉴 -> 압축하기 맨 밑에 있는 7-zip으로 압축하기 옵션 켜면(스샷 맨 윗부분) 마우스 오른쪽 클릭 메뉴에 반디집으로 압축하기 외에 7-zip으로 압축하기 메뉴가 따로 나옵니다.(스샷 중간부분) 그걸로 들어가면 7-zip을 따로 깐것처럼 옵션을 조절할 수 있습니다. (스샷 아랫부분, 차이점은 7-zip은 따로 사전 크기를 1024MB까지 줄 수 있어서 8쓰레드 기준 풀옵 다주면 압축시 메모리를 44GB나 먹어댈 수 있는데 - 풀때도 1GB나 쳐묵쳐묵 - 반해 반디집에서 소환되는 7-zip 메뉴는 64MB가 끝 - 8쓰레드 기준 메모리 쳐묵 약 4.4G - 입니다. 그리고 반디집을 64bit로 깔아도 저기서 호출되는 7-zip은 32bit라 메모리 2G이상 먹게 설정하면 메모리 부족으로 다운됩니다. (혹시 왜 2G에서 제한이 걸리는지 모르신다면 http://www.parkoz.com/zboard/view.php?id=my_tips&no=14187 참조바랍니다.)

스샷에 찍힌설정은 개인적으로 무난하다게 효율적이고 생각하는 설정입니다.


참고

압축파일 형식: 7z외에도 몇가지 지원합니다만, 압축률을 원한다면 결국 7z밖에 없죠.(zip  + LZMA를 쓰는 방법도 있습니다만 이건 반디집에서 지원하는걸 놔두고 굳이 이걸 써야할 이유가...)

압축레벨: 일종의 프리셋입니다. (반디집에서 보통, 높음 설정하는 식으로 미리 정해진 세팅들) 세부설정을 조절할 경우 별 의미없습니다.

압축 방식: LZMA2가 7-zip최신버전에서 미는 가장 최신 압축 알고리즘입니다. (기존 LZMA보다 압축률이 약간 더 좋으면서 속도도 약간 빨라졌다고 들었습니다.)

사전 크기: 올릴수록 압축률이 나아지고, 압축속도는 느려집니다. 다만 원래 압축률을 높일수록 압축속도가 매우 느려지는게 당연하다는걸 감안한다면 압축률 올라가는 것에 비해 속도가 쁘릅니다(느려지는 정도가 적다는 겁니다.) 그대신 메모리를 쳐먹는 겁니다.
단어 크기: 올릴수록 압축률이 나아지고, 압축속도는 느려집니다. 올려도 메모리를 쳐먹지 않습니다. 대신 압축률이 나아지는 것에 비해 압축속도 느려지는 정도가 (사전 크기 올리는 것에 비해) 심합니다. 이것 역시 어쩔 수 없습니다. 세상에 공짜는 없으니깐요.

솔리드 블록 크기: 자잘한 파일 여러개 압축할 때 솔리드로 하면 하나의 파일처럼 압축하기 때문에 압축률이 좋아집니다. 대신 풀 때 무조건 전체를 풀어야 되는 문제가 생깁니다. (극단적인 예로 1KB파일 약 4억개를 솔리드 압축으로 압축률 50%해서 190GB짜리 압축파일 하나로 압축했다면. 거기서 파일 하나만 꺼내려고 해도 무조건 190GB전체를 압축풀어야 됩니다.) 그래서 타협할 수 있는 기능이 솔리드 '블록' 크기 지정이죠. 저 블록크기 만큼만 솔리드로 합치기 때문에, 1KB파일 약 4억개를 솔리드 블록 128MB 압축으로 압축률 50%해서 190GB짜리 압축파일 하나로 압축했다면, 파일 하나 꺼낼 때 그 파일이 속한 128MB짜리 블록 하나만 풀면 됩니다.

CPU 쓰레드 수: 멀티코어 CPU를 활용하는 옵션이죠. 당연히 속도에만 영향을 주고 높일수록 빨라집니다만...한가지 함정은 3->4쓰레드에서 갑자기 메모리 사용량이 폭증합니다.(이후 5->6쓰레드에서 한번, 7->8쓰레드에서 한번 더 폭증, 사전 크기가 높을 수록 시너지 효과로 메모리 쳐묵쳐묵)


7-zip 풀옵션(사전크기 1024MB + 단어 크기 273)하면 당연히 반디집 높음 옵션보다 몇백바이트라도 더 낮은 용량으로 압축되겠죠. 하지만 그렇게 하려면 메모리 쳐묵이 최소 10GB (1쓰레드)~45GB (8쓰레드)에다가 압축속도는...ㅋ 굳이 예상해 보고 싶지도 않네요.
일반적으로 많이 쓰일만한 옵션(반디집 '보통' 프리셋 처럼용)보다 압축률을 높이려면 뭔가 희생할 수 밖에 없습니다. 예전에 줏어들은 바론 단순 압축률 기준으로 전세계 모든 압축 포맷을 순위 매기면 의외로 7-zip으 5위 안에 못 든다죠. 다만 7-zip보다 압축률 높은 포맷들을 대부분 실용적으로 쓸만한게 못 되어서(압축률 눈꼽만큼 나은 대신 속도가 몇십배 느리다던가 등등)...그래서 반디집 도움말에서 7z을 '현재 실 사용되는 압축 포맷중 제일 압축율이 뛰어난 포맷'이라고 소개하는 거겠죠.

반디집 개발자

unread,
Jan 27, 2014, 9:40:34 PM1/27/14
to bandiz...@googlegroups.com


7z 에서 사용하는 압축 방식은 크게 lzma 와 lzma2 가 있습니다. (기타 다른 압축 방식도 지원하지만, 7z 고유의 압축 알고리즘은 저 두가지가 대표적 입니다.)


lzma 압축 알고리즘은 매우 큰 "사전" 데이타를 이용해서 기존의 zip(deflate) 보다 월등히 좋은 압축율을 지원합니다.

(사전 데이타의 크기는 zip 포맷은 32kb 만 사용하지만, lzma는 최고 2GB 까지 사용합니다.)

문제는 lzma 압축 알고리즘은 싱글 코어만 사용하도록 되어 있기 때문에 이를 개선한 lzma2 알고리즘이 개발됩니다.

lzma2 는 기본 알고리즘은 lzma 와 동일하지만, 병렬처리가 가능하도록 개선이 되었습니다.

하지만, 대신 병렬 처리를 위해서는 병렬 처리를 하는 만큼 메모리를 더 사용하게 됩니다.


즉, lzma2 압축 알고리즘을 2개의 쓰레드로 압축을 하게 되면 동일한 사전 크기를 가지는 lzma 알고리즘보다 2배의 메모리를 사용하게 됩니다.

(대신 속도는 1.5배 이상 빨라집니다.)



반디집에서는 현재 7z 압축시 lzma2 알고리즘만을 사용하고 있습니다. 

이미 듀얼코어가 아닌 CPU 를 보기 힘든 상황이기 때문에 굳이 느린 LZMA 를 사용할 필요가 없기 때문이죠.


하지만, 위에 언급한 것처럼 LZMA2 알고리즘은 메모리를 매우 많이 사용하기 때문에 반디집에서 압축율을 최고로 설정하고 압축할 경우

메모리를 수GB 이상을 사용하기도 합니다.



===

 

Q 1. 압축률 최대 옵션이 고사양을 요구하는건 알겠습니다. 그래서 속도가 느려진다는 것도 이해했고요. 
그럼, 압축률 최대 옵션은 실제 압축률과는 별개로 고사양 유저의 속도향상을 위해서만 존재하는 겁니까?
즉. 위 4가지 옵션이 오직 작업 속.도에만 관계되는지 여쭈어봅니다.
Q 2. 연장되는 내용입니다만, 빠르게, 보통 옵션도 속도 변화 외에 압축이 적용이 되는지, 그럼 압축률 최대와 (속도가 아닌) 압축률만을 비교하면 어찌 차이가 있는지 궁금합니다.

==> 압축시 최대 옵션을 사용하면, 압축할때 메모리 사용량이 증가하고, 압축 시간도 많이 걸리는 대신 압축율이 좋아집니다.



Q 3. 사용자 입장에서는 가장 중요한건데, 압축률 최대 옵션이 실제 압축률이 가장 높은 옵션일 경우, 작업 시간은 더 걸리더라도 일반적인 옵션의 압축속도와 비슷하게 진행하여 컴퓨터가 멈춤상태에 처할 정도로 메모리 과부하를 걸리지 않게 옵션을 바꾸거나 따로 추가해주실 의양은 없으신지, 아니 꼭 추가해주실 수 없는지 요청해봅니다. 

==> 현재 반디집은 7Z 압축시 LZMA/LZMA2 알고리즘의 선택이나, 사전의 크기, 쓰레드의 크기등을 설정하는 옵션이 존재하지 않습니다.

향후 관련 옵션을 추가할 계획은 있습니다만, 시간이 걸릴예정이므로 7Z 압축시 상세한 설정을 원하신다면 일단은 7zip 을 사용해 주시기 바랍니다.





2014년 1월 27일 월요일 오후 7시 37분 29초 UTC+9, John Song 님의 말:

Sewon Ahn

unread,
Apr 21, 2021, 2:17:41 AM4/21/21
to Bandizip for Windows forum
속도는 늦어도 상관없으나, 압축률을 최고로 높이고 싶습니다.

옵션이 여러개인데요. 
1.압축 레벨 -> 가장느림
2. 압축 방식 -> LZMA2

상기 이외에 사전 크기,단어 크기, 솔리드 블록 크기 등을 어떻게 조정하면 압축률을 더 높일 수 있을까요?

2014년 1월 28일 화요일 오전 11시 40분 34초 UTC+9에 반디집 개발자님이 작성:

KH Park

unread,
Apr 22, 2021, 9:10:02 PM4/22/21
to Bandizip for Windows forum

안녕하세요. 반디집 개발자입니다.

>> 속도는 늦어도 상관없으나, 압축률을 최고로 높이고 싶습니다.

1. LZMA2 보다 LZMA 가 아주 약간 더 압축률이 좋습니다. 
하지만, LZMA2 는 멀티 쓰레드를 이용해서 LZMA 보다 훨씬 빠릅니다.

2. 압축방법은 "압축률 최대" 를 하시면 되고, 고급압축 설정에서 솔리드 블록 크기를  "솔리드" 로 설정하시면 됩니다.


감사합니다.




--
You received this message because you are subscribed to the Google Groups "Bandizip for Windows forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bandizip-win...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bandizip-win/886462ef-8ab6-4dd2-a4be-578bf492936dn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages