The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Использование процессора, !*! worsvch, 03-Мрт-14, 22:25  [смотреть все]
Система: 2 процессора по 4 ядра.
Нужно сжать в пределах 80 файлов, используя gzip. Что нужно сделать чтобы были задействованы одновременно все ядра процессора? На данный момент при использовании команды gzip * используется одновременно только одно ядро, остальные не задействованы.

  • Использование процессора, !*! parad, 00:53 , 04-Мрт-14 (1)
    проверь для начала насколько утилизируется это самое ядро. узкое место диски никто не отменял. только-что попробывал один большой файл на ссд с флагом -9 - нагрузка на ядро 45%, - уперлось в ввод-вывод. тобишь бессмысленно параллелить. я бы даже сказал во вред.
  • Использование процессора, !*! Serg, 06:27 , 04-Мрт-14 (2)
    > Система: 2 процессора по 4 ядра.

    можно использовать p7zip

  • Использование процессора, !*! Andrey Mitrofanov, 09:33 , 04-Мрт-14 (3)
    > Система: 2 процессора по 4 ядра.
    > Нужно сжать в пределах 80 файлов, используя gzip. Что нужно сделать чтобы
    > были задействованы одновременно все ядра процессора? На данный момент при использовании
    > команды gzip * используется одновременно только одно ядро, остальные не задействованы.

    https://www.gnu.org/software/parallel/man.html#example__proc...

    EXAMPLE: Processing a big file using more cores

    To process a big file or some output you can use --pipe to split up the data into blocks and pipe the blocks into the processing program.

    If the program is gzip -9 you can do:

    cat bigfile | parallel --pipe --recend '' -k gzip -9 >bigfile.gz

  • Использование процессора, !*! John, 15:47 , 05-Мрт-14 (7)
    > Система: 2 процессора по 4 ядра.
    > Нужно сжать в пределах 80 файлов, используя gzip. Что нужно сделать чтобы
    > были задействованы одновременно все ядра процессора? На данный момент при использовании
    > команды gzip * используется одновременно только одно ядро, остальные не задействованы.

    find /path_to/files_nees_gzip -type f [-name '*.txt'] | xargs -n 1 -p 8 gzip

    # find
    # -name '*.txt' - опционально, чтобы отобрать нужные файлы

    # xargs
    # -n 1 - передавать команде gzip по одному аргументу
    # -p 8 - использовать 8 (или указать сколько Вам надо) экземпляров gzip

    # для сложных случаев, с непредсказуемым именами файлов/каталогов (т.е. созданными "обычными пользователями") можно использовать вариант
    find /path_to/files_nees_gzip -type f [-name '*.txt'] -print0 | xargs -0 -n1 -p 8 gzip

  • Использование процессора, !*! Mua, 22:51 , 09-Май-15 (8)
    > Система: 2 процессора по 4 ядра.
    > Нужно сжать в пределах 80 файлов, используя gzip. Что нужно сделать чтобы
    > были задействованы одновременно все ядра процессора? На данный момент при использовании
    > команды gzip * используется одновременно только одно ядро, остальные не задействованы.

    На основании инфы в этой ветке и гугла получилось вот что:

    tar -C 2015-04-24\ WindowsBackup -cf - . | parallel --pipe --recend '' -k gzip > \!.tar.gz

    Грузит все ядра.

    • Использование процессора, !*! fantom, 10:04 , 12-Май-15 (9)
      >> Система: 2 процессора по 4 ядра.
      >> Нужно сжать в пределах 80 файлов, используя gzip. Что нужно сделать чтобы
      >> были задействованы одновременно все ядра процессора? На данный момент при использовании
      >> команды gzip * используется одновременно только одно ядро, остальные не задействованы.
      > На основании инфы в этой ветке и гугла получилось вот что:
      > tar -C 2015-04-24\ WindowsBackup -cf - . | parallel --pipe --recend ''
      > -k gzip > \!.tar.gz
      > Грузит все ядра.

      zip <1 file> & zip <2 file> & zip <3 file> & .....
      и так все 80 файлов...
      :)




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру