День добрый!
Есть двухядерный 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, то можно во время выполнения разбросать задачи на два ядра.
Но можно ли что-нибудь подкрутить, чтобы это распределение выполнялось самостоятельно?