Portál AbcLinuxu, 30. dubna 2025 09:07

Dual CPU: kompilace kernelu

9.4.2006 22:14 | Přečteno: 1268× | Linux | poslední úprava: 10.4.2006 05:35

Otestoval jsem svoji staronovou hračku. Kompiloval jsem monolytický kernel vanilla-2.6.16.2 s různými volbami -jX programu make, kde X je počet současně běžících procesů. Zajímalo mě, jak tato volba ovlivní dobu trvání kompilace na dual CPU mašině.

Pro otestování jsem napsal primitivní skript:

#!/bin/bash

cd /usr/src/linux-2.6.16.2

numbers="1 2 3 4 5 6"

for number in $numbers; do

    make clean > /dev/null

    echo "make -j$number"

    time make -j$number > /dev/null

done

exit 0

Tady jsou výsledky:

make -j1
real   47m32.628s
user   44m18.978s
sys    3m34.845s

make -j2
real   47m2.569s
user   43m51.576s
sys    3m32.745s

make -j3
real   47m34.519s
user   44m18.226s
sys    3m36.610s

make -j4
real   25m14.465s
user   44m48.260s
sys    3m39.710s

make -j5
real   24m41.261s
user   44m56.633s
sys    3m39.286s

make -j6
real   24m40.760s
user   45m3.017s
sys    3m38.666s

Nárůst výkonu je nejvýraznější pro -j4, a to o 88%. Může mi někdo vysvětlit, proč se tedy doporučuje pravidlo "počet_procesorů+1"? Sem se IMHO více hodí pravidlo "+2" nebo "x2".

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

David Watzke avatar 9.4.2006 22:51 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Dual CPU: kompilace kernelu
Odpovědět | Sbalit | Link | Blokovat | Admin
Asi je nejlepší +2, protože jakmile dám -j4 a kompiluju něco biggy (čti: kdelibs, glibc, qt), tak sekanec...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 10.4.2006 06:10 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Dual CPU: kompilace kernelu
Zkusím to taky... než odejdu do školy, tak to spustím :-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 10.4.2006 13:58 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Dual CPU: kompilace kernelu
AMD64 Athlon 3000+, 1GB RAM, vanilla-2.6.17-rc1. Trochu jsem upravil formátování ;-)
for N in {1..6}; do
  make clean > /dev/null
  echo "make -j$N"
  time make -j$N > /dev/null || echo Failed
done
make -j1
real    3m38.282s
user    3m14.194s
sys     0m20.321s

make -j2
real    3m34.612s
user    3m14.164s
sys     0m20.359s

make -j3
real    3m34.647s
user    3m14.276s
sys     0m20.224s

make -j4
real    3m34.463s
user    3m14.386s
sys     0m20.003s

make -j5
real    3m34.398s
user    3m14.058s
sys     0m20.280s

make -j6
real    3m34.458s
user    3m14.214s
sys     0m20.079s
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
10.4.2006 13:14 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Dual CPU: kompilace kernelu
Odpovědět | Sbalit | Link | Blokovat | Admin
Preco "real" pri -j[456] nie je suctom "user" a "sys"?

Inac moje testy tiez ukazali, ze na 2xCPU bolo najrychlejsie -j2
If you hold a Unix shell up to your ear, you can you hear the C.
10.4.2006 18:54 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Dual CPU: kompilace kernelu
Asi jste to špatně pochopil. Pro j=4,5,6 kompilace trvala okolo 25 minut. To je real. User už je jen součtem pro oba procesory.
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
stulda avatar 10.4.2006 13:41 stulda | skóre: 18 | Sokolov
Rozbalit Rozbalit vše Re: Dual CPU: kompilace kernelu
Odpovědět | Sbalit | Link | Blokovat | Admin
Ja mam celeron M, pri -j3 bylo o deset procent rychlejsi nez u -j2. -j4 uz bylo zase pomalejsi. Takze bych videl nejlepsi moznost na: procesor +2.
Milan Vít avatar 10.4.2006 15:00 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Dual CPU: kompilace kernelu
Odpovědět | Sbalit | Link | Blokovat | Admin
Mám ještě zajímavější výsledek, jeden procesor, bez HT. Nechápu :-)
make -j1
real    5m11.228s
user    4m28.177s
sys     0m29.662s

make -j2
real    5m6.803s
user    4m29.181s
sys     0m29.166s

make -j3
real    5m6.027s
user    4m29.525s
sys     0m28.850s

make -j4
real    5m6.636s
user    4m29.157s
sys     0m29.338s

make -j5
real    5m6.910s
user    4m29.673s
sys     0m28.754s

make -j6
real    4m59.729s
user    4m27.581s
sys     0m28.742s
„There is no dark side of the Moon really… as a matter of fact it's all dark.“

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.