[Linux] multi processor support

Pagina: 1
Acties:

  • deepbass909
  • Registratie: April 2001
  • Laatst online: 21-02 15:19

deepbass909

[☼☼] [:::][:::] [☼☼]

Topicstarter
ben ik weer (worden jullie al gek van mij??? 8)7)

ik zat net naar mijn processor belasting te kijken tijden het compileren van OpenSSL en het viel me op dat de belasting niet boven de 50% komt.
Nu weet ik dat een Dual Pentium Pro ooit veel rekenkracht had, maar aangezien compileren toch erg processor intensief is, vraag ik me af waarom de belasting zo laag blijft...

Kan ik ergens zien hoe de draaiende processen worden verdeeld over beide processoren? en kan ik ergens de performance opkriken???

ps.
Het is een:
code:
1
2
3
4
5
6
7
8
IBM Dual PPro
met 196mb geheugen
SCSI UW2 ServeRaid controller met schijf config:
    4,3Gb enkele harddisk (systeem)
 +- 18Gb Raid 5 (/var, /usr)
    4,3Gb Raid 1 (/home)

OS: RedHat 9

[ Voor 6% gewijzigd door deepbass909 op 17-02-2004 13:35 ]

Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier


  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

deepbass909 schreef op 17 februari 2004 @ 13:32:
ben ik weer (worden jullie al gek van mij??? 8)7)

ik zat net naar mijn processor belasting te kijken tijden het compileren van OpenSSL en het viel me op dat de belasting niet boven de 50% komt.
Nu weet ik dat een Dual Pentium Pro ooit veel rekenkracht had, maar aangezien compileren toch erg processor intensief is, vraag ik me af waarom de belasting zo laag blijft...
Omdat ie maar 1 CPU gebruikt effectief gezien.
Kan ik ergens zien hoe de draaiende processen worden verdeeld over beide processoren? en kan ik ergens de performance opkriken???
make -j 2

  • deepbass909
  • Registratie: April 2001
  • Laatst online: 21-02 15:19

deepbass909

[☼☼] [:::][:::] [☼☼]

Topicstarter
als ik make -j 2 doe, compileerd de machine niet goed meer.
Daarnaast is die optie in mijn ogen een beetje overbodig, omdat zonder de optie -j 2 make een oneindig aantal processen zal proberen uit te voeren...

Daarnaast als ik in Top kijk, zie ik de load tussen beide processoren continu omslaan... dan heeft CPU0 bijna 100% load en CPU1 bijna niks, en een paar seconde later is het omgekeerd... Dat blijft ook zo als ik make -j 2 draai.

Hoe kan ik de load beter laten verdelen tussen de CPU's???

Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier


Verwijderd

Niet, dat doet de process scheduler van de Linux kernel zelf veel beter. Die -j 2 zorgt ervoor dat er twee processen parallell worden opgestart.

Overigens kan er best software zijn die dat niet doet om problemen met compilen te verkomen. Meen dat bijvoorbeeld xfree die problemen heeft.

  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

deepbass909 schreef op 17 februari 2004 @ 14:06:
als ik make -j 2 doe, compileerd de machine niet goed meer.
Daarnaast is die optie in mijn ogen een beetje overbodig, omdat zonder de optie -j 2 make een oneindig aantal processen zal proberen uit te voeren...
Enig idee wat make allemaal doet intern ? Volgens mij niet :) Zie ook de uitleg van de -j optie in de manpage. En nee, make voert geen oneindig aantal processen uit, maar een compile proces. Die draait op 1 CPU wat de 50% verklaart.
Daarnaast als ik in Top kijk, zie ik de load tussen beide processoren continu omslaan... dan heeft CPU0 bijna 100% load en CPU1 bijna niks, en een paar seconde later is het omgekeerd... Dat blijft ook zo als ik make -j 2 draai.

Hoe kan ik de load beter laten verdelen tussen de CPU's???
1) Je kernel is te oude
2) Het verdelen kan alleen als d'r 2 draaiende processen zijn, wat make standaard niet doet. Daarvoor is de -j optie uitgevonden.

Verwijderd

Paar dingen: make start standaard maar 1 proces tegelijkertijd op, als je "make -j", zonder getalletje dus doet, start make zoveel mogelijk afzonderlijke processen op. Hoeveel dat er zijn hangt dus af van wat voor compile je doet, als je bijvoorbeeld een compile hebt met veel verschillende object files dan krijg je een hele rits gcc processen. Moet je mee oppassen en eigenlijk niet doen, mijn dual p4 heeft op die manier wel eens een load van 40~50 gehaald bij een grote compile, en dat vond ie niet leuk.
Verder zou ik even bij /proc/cpuinfo controleren of ie inderdaad 2 processoren ziet. Als je bij top '1' indrukt kun je de belasting van de afzonderlijke processoren zien.

p.s. Ik zou upgraden naar een 2.6.x kernel; is veel veranderd in SMP support.

[ Voor 8% gewijzigd door Verwijderd op 18-02-2004 13:44 ]

Pagina: 1