PDA

View Full Version : Ricompilare Kernel in i686 vale la pena?


blackbit
21-01-2008, 14:51
Mi chiedevo se potessi riscontrare dei miglioramenti osservabili in daily use se ricompilassi il kernel utilizzando le istruzioni pentium 4 o se posso tranquillamente lasciare il mio kernel standard?

Attualmente ho il 2.6.22.12-desktop586-1mdv


Seconda domanda:
Un'applicazione i686 necessita di un kernel i686 per poter girare ottimizzata oppure su un kernel i386 girerà come se anche l'applicazione fosse i386?

Grazie della dritta!

palmy
21-01-2008, 16:11
Un kernel ottimizzato consente avvi di macchina più rapidi in quanto si può evitare l'initrd.
Nell'uso comune i miglioramenti sono appena percettibili rispetto ai kernel precompilati delle distro.
Ricompilare un kernel può essere utile per far riconoscere hardware o servizi specifici e per ridurre le dimensioni dello stesso in memoria.

Gimli[2BV!2B]
21-01-2008, 21:14
In ogni caso dipende dalle politiche standard adottate dalla distribuzione.

Senz'altro si può ottenere un sensibile risparmio di memoria ed un boot un po' più scattante scegliendo con cura i driver giusti per il tuo hardware ed integrando tutto ciò che è stabile e che usi molto spesso in un bel nocciolo il più possibile monolitico.

Poi si attivano le ottimizzazioni per la tua CPU, si velocizza lo scheduling, si rimuove l'initrd cancellando un intero passaggio del boot, ecc...

Per concludere: in Debian i risultati sono evidenti (ma nasce con impostazioni per server che lo fanno somigliare ad un trattore: lento ma inesorabile...), in distribuzioni nate già per essere usate quasi solo in desktop/notebook si nota meno...

Per quanto riguarda i386 VS i686: ciascuna applicazione viene eseguita con il set di istruzioni assembler con cui il compilatore l'ha costruita, naturalmente se l'esecuzione viene avviata su di un processore che le sa eseguire: se provi ad usare un programma 64bit su un 32 non dovresti arrivare molto lontano.

Addirittura alcuni programmi (spesso multimediali) si preoccupano di determinare quali estensioni di istruzioni utilizzare all'inizio della loro esecuzione in modo di ottenere massime prestazioni.

blackbit
22-01-2008, 00:23
;20690882']In ogni caso dipende dalle politiche standard adottate dalla distribuzione.

Senz'altro si può ottenere un sensibile risparmio di memoria ed un boot un po' più scattante scegliendo con cura i driver giusti per il tuo hardware ed integrando tutto ciò che è stabile e che usi molto spesso in un bel nocciolo il più possibile monolitico.

Poi si attivano le ottimizzazioni per la tua CPU, si velocizza lo scheduling, si rimuove l'initrd cancellando un intero passaggio del boot, ecc...

Per concludere: in Debian i risultati sono evidenti (ma nasce con impostazioni per server che lo fanno somigliare ad un trattore: lento ma inesorabile...), in distribuzioni nate già per essere usate quasi solo in desktop/notebook si nota meno...

Per quanto riguarda i386 VS i686: ciascuna applicazione viene eseguita con il set di istruzioni assembler con cui il compilatore l'ha costruita, naturalmente se l'esecuzione viene avviata su di un processore che le sa eseguire: se provi ad usare un programma 64bit su un 32 non dovresti arrivare molto lontano.

Addirittura alcuni programmi (spesso multimediali) si preoccupano di determinare quali estensioni di istruzioni utilizzare all'inizio della loro esecuzione in modo di ottenere massime prestazioni.

molto esaustivo. grazie ;)

ArtX
22-01-2008, 21:19
comunque iniziare questa avventura non fa mai male, anzi si imparano molte cose, per cui si consiglio di compilare il kernel, inoltre impari a conoscere molto bene anche il tuo pc ;)

leuzr0x
22-01-2008, 21:37
Beh la ricompilazione dipende un pò da che distro usi. Se usi ad es gentoo la ricompilazione è d'obbligo (anche perchè il kernel non ce l'hai altrimenti...) se usi distro tipo fedora, suse, mandriva è un'avventura che ti sconsiglio. La mole di moduli/opzioni precompilati nei kernel rilasciati, rischia di portarti ad un avvio problematico del sistema se non ricompili puntigliosamente tutto (o quasi) ciò che c'è nella release ufficiale.

blackbit
22-01-2008, 21:44
contaci, ci avevo già pensato ;)

SalgerKlesk
22-01-2008, 23:18
Vorrei tanto una guida che spieghi esattamente COS'E' ogni singola voce nel kernel... quando ricompilavo (3 mesi fa) toglievo quello che ritenevo inutile riconoscendolo, ma spesso alcune cose che non conoscevo le tenevo, magari sapendo cosa fossero le avrei potuto togliere in sicurezza...

Clauser
23-01-2008, 08:04
Vorrei tanto una guida che spieghi esattamente COS'E' ogni singola voce nel kernel... quando ricompilavo (3 mesi fa) toglievo quello che ritenevo inutile riconoscendolo, ma spesso alcune cose che non conoscevo le tenevo, magari sapendo cosa fossero le avrei potuto togliere in sicurezza...
Con menuconfig, quando sei su una voca che non conosci, premi sulla tastiera "?" :)

palmy
23-01-2008, 09:37
Con menuconfig, quando sei su una voca che non conosci, premi sulla tastiera "?" :)

se usi xconfig è ancora più semplice la voce basta selezionarla per avere delle informazioni al riguardo.
Però alcune voci non hanno "help", sarebbe carino un sito che spieghi tutte le voci di un kernel (lavoro mastodontico da fare probabilmente).

khelidan1980
23-01-2008, 09:45
se usi xconfig è ancora più semplice la voce basta selezionarla per avere delle informazioni al riguardo.
Però alcune voci non hanno "help", sarebbe carino un sito che spieghi tutte le voci di un kernel (lavoro mastodontico da fare probabilmente).

Sugli appunti linux "mi pare" fossero spiegate ma non ne sono assolutamente sicuro!

palmy
23-01-2008, 09:57
Sugli appunti linux "mi pare" fossero spiegate ma non ne sono assolutamente sicuro!

Si sono spiegate le varie sezioni del kernel, ma non ogni voce presente, ma d'altra parte sarebbe un casino gestire una cosa così, basta pensare alle modifiche da fare ogni volta che viene rilasciato un aggiornamento o un nuovo kernel.

leuzr0x
23-01-2008, 10:15
Questo tra l'altro per un kernel vanilla. Se si utilizza di un kernel patchato la situazione sarebbe ancora piu' mastodontica :D

blackbit
23-01-2008, 12:06
Vorrei tanto una guida che spieghi esattamente COS'E' ogni singola voce nel kernel... quando ricompilavo (3 mesi fa) toglievo quello che ritenevo inutile riconoscendolo, ma spesso alcune cose che non conoscevo le tenevo, magari sapendo cosa fossero le avrei potuto togliere in sicurezza...

io invece finivo per togliere anche quello che non conoscevo. risultato: nel 90% dei casi neanke mi faceva il boot :)

palmy
23-01-2008, 12:54
io invece finivo per togliere anche quello che non conoscevo. risultato: nel 90% dei casi neanke mi faceva il boot :)

io invece eliminavo l'initrd e poi mettevo i driver necessari come moduli anziché nel kernel, risultato: kernel painc!!....:D :D :D

Sbagliare serve ad imparare!!