BZIP2 (ZIP-архіватор) на стероїдах

При використанні стиснення (bzip2) архівів (tar) на багатопроцесорних машинах було помічено відсутн  ість значного приросту швидкості стиснення. Наприклад однопроцесорний (Intel Xeon 3.2GHz) сервер показував практично ту ж швидкість обробки, що і набагато потужніший мультипроцесорний сервер (4х4 Intel Xeon 3.0GHz).

Картинка завантаженості  4 процесорної машинки при стисненні архіву:

Картинка завантаженості  4 процесорної машинки при стисненні bzip2 tar архіву

 

Бачимо, що процес дуже ефективно (100%) використовує процесорний час. Але! — тільки ОДНОГО процесора, що чудово видно:

Картинка завантаженості  4 процесорної машинки при стисненні bzip2 tar архіву 100% CPU

Прочитання man bzip2 не призвело до розуміння того, як же утилізувати інші процесорні ядра. Вихід же був знайдений у чудовій утиліті pbzip2 (parallel bzip2). Основні параметри запуску pbzip2 аналогічні материнській утиліті bzip2, за винятком специфічних для паралельної обробки — більш докладно у man pbzip2 🙂

Не зайвим буде, мабуть, зазначити, як же використовувати pbzip2 в зв’язці з архіватором tar:

tar -Ipbzip2 -cf arhiv_name.tar.bz2 folder_or_file_into_archiv

Процес роботи pbzip2:

Картинка завантаженості  4 процесорної машинки при стисненні bzip2 tar архіву 100% CPU 400%

Бачимо, що ВСІ процесори використовуються майже на 100%, що видає загальну завантаженість в 386% 🙂

Опубліковано у Linux, Tips&Tricks, Всяка-всячина, Нотатки на колінці | Теґи: , , , , , , . | Додати в закладки: постійне посилання на публікацію.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *