Tag

Premessa

Ho compilato il kernel 2.6.27.1 (solo il kernel, niente moduli) con lo stesso .config partendo sempre da una situazione “pulita”, cancellando la directory linux-2.6.27.1 e ricreandola decomprimendo il tar.bz2

Situazione

Intel core 2 duo 7100, 1gb ram
– Slackware -current
– Init 3, fuori da X
– In esecuzione solo i demoni syslogd, acpid, dbus-daemon e hald

Risultati

Vediamo i risultati

# time make bzImage
real 10m21.695s, user 9m39.206s, sys 0m41.419s

# time make -j2 bzImage
real 3m33.166s, user 6m3.118s, sys 0m27.475s

# time make -j3 bzImage
real 3m25.194s, user 6m5.391s, sys 0m28.089s

# time make -j4 bzImage
real 3m25.908s, user 6m6.245s, sys 0m28.607s

# time make -j5 bzImage
real 3m26.182s, user 6m8.057s, sys 0m28.579s

Mentre invece nella stessa situazione, ma con un Pentium 3 @ 1Ghz con 512Mb di Ram, il risultato è stato questo

# time make bzImage
real 22m9.797s, user 20m26.468s, sys 1m29.932s

# time make -j2 bzImage
real 22m34.096s, user 20m57.083s, sys 1m32.854s

Conclusioni

Naturalmente questi dati vanno presi con le dovute cautele, perché sono influenzati da tutta una serie di fattori, ma nel mio caso posso dire che la situazione ottimale è stata CPU+1, che in questo caso è anche il CPU*1.5. Andrebbe provato con più ram, in un quadcore, o ancora meglio in un reale sistema multiprocessore.
Come si puù notare se aumentiamo ulteriormente il valore di -j i valori si discostano di poco, ma tendono a salire

Dove è presente un solo core, come nel caso del Pentium 3, meglio non utilizzare l’opzione -j, ma anche in questo caso andrebbe testata la situazione con un maggior quantitativo di ram.

Note

Intanto bisogna dire che non con tutti i programmi è possibile usare l’opzione -j, per esempio compilando alcuni pacchetti per la Slackware mi sono imbattuto in situazioni in cui anche il semplice -j2 (che uso normalmente) mi dava errore.

Altra cosa importante da sottolineare è che mettere solamente -j senza parametri è un buon modo per vedere se il sistema è stabile, ma non per compilare 🙂

Qualcuno ha fatto esperimenti simili, magari con un quadcore?

Annunci