Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Равномерное распределние задач  (Прочитано 744 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн rz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Равномерное распределние задач
« : 26 Декабря 2008, 09:33:56 »
День добрый!

Есть двухядерный AMD и Ubuntu 8.10 с ядром 2.6.27-11-generic
Запускаю маленький скрипт:

for i in *.bz2
do bzcat $i | grep "> 192.168.1.1" | awk '{print $1,$2,$3,$4,$5,$8}' >> out
done

Но в top`е вижу:
20875 rz        20   0  9580 4116  440 R   69  0.2   0:04.16 bzcat
20876 rz        20   0  8292 1012  780 R   31  0.0   0:01.90 grep

Что оба процесса загружают только одно ядро.

pidstat это подтверждает:
14:51:25        20865    0,01    0,00    0,01     1  bzcat
14:51:25        20866    0,01    0,00    0,01     1  grep

Причём тот же 7zip при работе нагружает оба ядра, и два подобных скрипта тоже.

Если почитать записки Дебианщика http://mydebianblog.blogspot.com/2008/11/linux-rt-linux-tweaking.html, то можно во время выполнения разбросать задачи на два ядра.
Но можно ли что-нибудь подкрутить, чтобы это распределение выполнялось самостоятельно?
Хм, прикольно...

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: Равномерное распределние задач
« Ответ #1 : 26 Декабря 2008, 13:36:35 »
Оно и выполняется самостоятельно.

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Равномерное распределние задач
« Ответ #2 : 26 Декабря 2008, 13:42:09 »
У меня по умолчанию affinity mask процессов 3, т.е. процесс может выполняться на любом из ядер.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн rz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Равномерное распределние задач
« Ответ #3 : 30 Декабря 2008, 05:41:11 »
Ага, спасибо за наводку.

Пока сделал:

do taskset 1 bzcat $i | taskset 2 grep ...

Разница:
С taskset:
real    36m38.798s
user    40m46.613s
sys     11m56.409s
Без него:
real    68m54.698s
user    41m3.738s
sys     27m33.983s

Хм, прикольно...

 

Страница сгенерирована за 0.015 секунд. Запросов: 20.