Архиватор (многоядерность) (Быстрый архиватор (x86-64))
Модератор: /dev/random
-
Stream
- Сообщения: 223
- ОС: CentOS 6.4 без дров видео.
Архиватор (многоядерность)
У меня 4 ядра. Я создал tar.gz архив. Задействовано почти полностью было одно. Остальные 2 поочередно процентов на 10-20. 4-е аообще в простое.
Какой архиватор посоветуете быстрый и чтобы использовал все ядра.
P.S. У меня Opensuse 11.1 x86-64
Какой архиватор посоветуете быстрый и чтобы использовал все ядра.
P.S. У меня Opensuse 11.1 x86-64
-
Sleeping Daemon
- Сообщения: 1450
Re: Архиватор (многоядерность)
Тот, который напишите сами. Как вариант - модифицируете имеющийся с явным распараллеливанием операций, например с использованием OpenMP.
-
Tverskoy
- Сообщения: 460
- Статус: Мандривопоклонник
- ОС: Mandriva 2011 x86_64
Re: Архиватор (многоядерность)
7zip и pbzip2, можете сами убедиться если упаковывать через консоль.
-
oper777
- Сообщения: 411
- ОС: gentoo
-
rm_
- Сообщения: 3340
- Статус: It's the GNU Age
- ОС: Debian
Re: Архиватор (многоядерность)
Верно, + ещё есть plzip.
Всё уже написано до нас. ©
-
Luinnar
- Сообщения: 246
- ОС: Solaris, Debian, Ubuntu
Re: Архиватор (многоядерность)
У pbzip2 есть один серьёзный недостаток: он не может принимать данные для архивирования из стандартного ввода, только из файла. А файл, как правило, нужно предварительно создать с помощью, скажем, tar. Это особенно неэффективно, когда данных много.
Так что я бы рекомендовал 7zip попробовать. У нас он для бэкапов используется, жмёт лучше, чем bzip2, а с опцией -mx=3 (уровень сжатия) ещё и значительно быстрее.
-
Stream
- Сообщения: 223
- ОС: CentOS 6.4 без дров видео.
Re: Архиватор (многоядерность)
Luinnar
А как с помощью 7zip сделать backup. Там ведь по умаолчанию нельзя сохранять права. Кстати, я жал им с опцией a, Жмет долго. Пояти полность. использует 2 процессора. Остальные 2 по 30 процентов.
Я не могу установить pbzip2 и pigz, скачал исходники. Там есть Makefile.
Пишу make- не работает. Появляются ошибки.
А как с помощью 7zip сделать backup. Там ведь по умаолчанию нельзя сохранять права. Кстати, я жал им с опцией a, Жмет долго. Пояти полность. использует 2 процессора. Остальные 2 по 30 процентов.
Я не могу установить pbzip2 и pigz, скачал исходники. Там есть Makefile.
Пишу make- не работает. Появляются ошибки.
-
/dev/random
- Администратор
- Сообщения: 5480
- ОС: Gentoo
Re: Архиватор (многоядерность)
Попробуйте опцию -mmt=N, где N - количество потоков, обычно задают на 1 больше, чем у вас есть ядер.
-
Stream
- Сообщения: 223
- ОС: CentOS 6.4 без дров видео.
Re: Архиватор (многоядерность)
Пишу make в папке pbzip2
Появляется Цель `all' не требует выполнения команд.
Пишу make Makefile: Цель `Makefile' не требует выполнения команд.
Появляется Цель `all' не требует выполнения команд.
Пишу make Makefile: Цель `Makefile' не требует выполнения команд.
-
Luinnar
- Сообщения: 246
- ОС: Solaris, Debian, Ubuntu
Re: Архиватор (многоядерность)
Stream писал(а): ↑09.04.2010 13:16Luinnar
А как с помощью 7zip сделать backup. Там ведь по умаолчанию нельзя сохранять права. Кстати, я жал им с опцией a, Жмет долго. Пояти полность. использует 2 процессора. Остальные 2 по 30 процентов.
Я не могу установить pbzip2 и pigz, скачал исходники. Там есть Makefile.
Пишу make- не работает. Появляются ошибки.
Если нужно права сохранить, то сначала в tar, а потом в 7z. Например, так:
Код: Выделить всё
tar cf - <your-files> | 7z a -si -mx=3 backup.tar.7z-mx=3 - уровень сжатия 3, по-умолчанию используется 5, но по моим тестам -mx=3 работает значительно быстрее, а размер получается не намного больше.
Если у вас данные небольшие, то можно без этой опции:
Код: Выделить всё
tar cf - <your-files> | 7z a -si backup.tar.7zОбычно порядок компиляции такой:
Код: Выделить всё
./configure
make
sudo make install-
Luinnar
- Сообщения: 246
- ОС: Solaris, Debian, Ubuntu
Re: Архиватор (многоядерность)
А распаковать так:
Код: Выделить всё
cd <target-directory> && 7z x -so <path-to-backup.tar.7z> | tar xf --
Stream
- Сообщения: 223
- ОС: CentOS 6.4 без дров видео.
Re: Архиватор (многоядерность)
/Desktop> /home/stream/bin/p7zip_9.04/bin/7za a -mx=3 -mmt=4 cds.7z /home/stream/file
Когда использую 2 аргумента -mx=3 -mmt=4, то испольуется одно ядро.
Кстати, такое ощущение, что mmt там по умолчанию настроен.
Заметил, что чем сильнее степень сжатия mx=, тем больше задействованы прцессоры кроме 1-го. 1-й всегда задействован
Вот скриншот загрузки CPU при архивировании папки с множеством поддиректорий в файл формата 7z с опциями mmt=5 mx=3 4; процессор Core-5-750 4 Ядра

С помощью make, make install поставил 7zip в нужную папку, хотя он только с make мог уже работать ))
Поставил pbzip2
А вот pigz пишет
linux-6t58:/home/stream/bin/pigz-2.1.6 # make install
make: *** Нет правила для сборки цели `install'. Останов
pigz нашел в репозитариях openSuse 11.1
Поставил. Он архивирует вроде папку, когда опцию -r (recursive) ставишь, только непонятно куда. Но не все ядра задействованы.
Когда использую 2 аргумента -mx=3 -mmt=4, то испольуется одно ядро.
Кстати, такое ощущение, что mmt там по умолчанию настроен.
Заметил, что чем сильнее степень сжатия mx=, тем больше задействованы прцессоры кроме 1-го. 1-й всегда задействован
Вот скриншот загрузки CPU при архивировании папки с множеством поддиректорий в файл формата 7z с опциями mmt=5 mx=3 4; процессор Core-5-750 4 Ядра

С помощью make, make install поставил 7zip в нужную папку, хотя он только с make мог уже работать ))
Поставил pbzip2
А вот pigz пишет
linux-6t58:/home/stream/bin/pigz-2.1.6 # make install
make: *** Нет правила для сборки цели `install'. Останов
pigz нашел в репозитариях openSuse 11.1
Поставил. Он архивирует вроде папку, когда опцию -r (recursive) ставишь, только непонятно куда. Но не все ядра задействованы.
-
Luinnar
- Сообщения: 246
- ОС: Solaris, Debian, Ubuntu
Re: Архиватор (многоядерность)
Наверное, так же как и gzip, архивирует все файлы в указанном каталоге по-одному, причём исходные файлы перезаписываются архивами.
Для создания одного архива следует использовать всё тот же tar. До или после архивации - на ваш выбор, хотя лучше всё же до.
-
Tverskoy
- Сообщения: 460
- Статус: Мандривопоклонник
- ОС: Mandriva 2011 x86_64
Re: Архиватор (многоядерность)
для бекапов лучше подойдет tar.lzma
-
Luinnar
- Сообщения: 246
- ОС: Solaris, Debian, Ubuntu
Re: Архиватор (многоядерность)
lzma не использует многопоточность.
Кстати, вот результаты проведённого мною тестирования разных архиваторов на предмет скорости и степени сжатия:
Обсуждение архиваторов
А вот почему мы используем tar.7z для бэкапов:
Обсуждение архиваторов
Кстати, вот результаты проведённого мною тестирования разных архиваторов на предмет скорости и степени сжатия:
Обсуждение архиваторов
А вот почему мы используем tar.7z для бэкапов:
Обсуждение архиваторов