Linux: sfruttare le CPU multicore per compilazioni più veloci del kernel
Pubblicato da paul alle 21:26
La maggior parte dei computer di ultima generazione sono basati su architetture multi core, addirittura multi processore al fine di offrire prestazioni più elevate. Come tutti gli utenti di linux sapranno, la compilazione del kernel è un'operazione molto lunga e pesante per il precessore. Se disponiamo però di più processori o core, possiamo distribuire su di essi i vari task (processi, operazioni). Per fare ciò dobbiamo passare al comando make la direttiva -j seguita dal numero di thread che si vogliono avviare. Una buona distribuzione dei processi consiste nell'assegnare ad ogni core (CPU) due thread. Ad esempio per un'architettura a quattro core (noto anche come quad-core) il comando sarà: make -j 8.
Etichette: kernel, Linux, news, Software, tips and tricks
Molti consigliano un numero pari a quello dei core presenti +1 ...
Sinceramente non ho mai fatto prove per vedere quale metodo è più efficiente!
salve io psseggo un 6600 quad e ubuntu, sarei interessato ad apportare la modifica ma da dilettante non ho ben capito dove e come aplicare il comando make -j 8!
@Anonimo
forse non hai capito.. non è una modifica, semplicemente è un attributo da aggiungere quando si lancia il comando make. Quindi quando stai per compilare il kernel!
Anonimo, se non hai una distro a 64 bit ubuntu non sfutta nulla del tuo proc.
Comunque sarebbe più appropriato un j 5 (numero di proc +1 e non è detto che sia cosa buona)
Ricordate che comunque non da alcun effetto sul binario finale!
esiste un altro metodo, molto utile per chi utilizza "il modo Debian" (pacchettizzando il nuovo kernel in formato .deb), esportando la variabile CONCURRENCY_LEVEL.
Ad esempio per un dual core:
export CONCURRENCY_LEVEL=2
Mi interessa molto il concurrency_level. Però non ho ben compreso il metodo da utilizzare (sono su Debian SID e quadcore).