Optimizarea (uşor) kernel-ului

[Kernel doc]

NE O avantajele de Ubuntu este că acesta se transformă în ceva rapid si relativ simplu pentru a rula pe un computer desktop cu toate aplicaţiile comune. Dar pentru a obţine această făcut unele generalizări "care fac de configurare a adoptat nu este cel mai bun pentru echipa noastră şi poate îmbunătăţi performanţa prin optimizarea printre altele, nucleul (kernel).

În mod implicit atunci când instalaţi Ubuntu, aici, în versiunea 7.10-a instala un modul de kernel numit "general". Acest nucleu poate rula cel puţin în teorie, pe orice PC compatibil x86, asa ca s-ar putea lucra într-o versiune 8086 Mhz 4'77 linia de comandă, sau chiar un window manager foarte de bază. Acest punct de plecare pentru a spune "compatibilitate universal" penalizează performanţele PC-ului, mai ales dacă vă simţiţi mai vechi. Să vedem cum de a îmbunătăţi această situaţie.

Cea mai simplă alternativă este, dacă am un AMD sau Intel Core 2 din urmă o generaţie, a instala 64 de biţi. Dacă nu aveţi unul dintre aceste procesoare, sau dacă aţi instalat "normală" sistem de operare, avem un nucleu de "usor" sufixul i386 optimizat, si ajungem prin instalarea meta-pachetul linux-image-386:

sudo apt-get install linux-image-386

Reporniţi Ubuntu şi veţi observa imediat diferenţa.

Bună. Dar putem merge cu mult dincolo de generatoare de un miez de adaptat la seria corespunzătoare procesorul nostru. Acest lucru este mai complicat, dar nu prea:

Linii directoare pentru compilarea kernel-ului sunt multe, ca acest lucru cât de-a , aşa că nu va locui pe ea, doar un scurt rezumat:

  • Instalaţi-esential instrumente construi, libncurses5, libncurses5-dev, kernel-pachet
  • Instalaţi sursa kernel-ului cele mai recente curente: meta-pachetul linux-source
  • Du-te la / USRC / src untar şi sursa de linux-source-2.6.22.tar.bz2 găsit acolo.
  • Creaţi un link către directorul cu sursa: sudo ln -s /usr/src/linux-source-2.6.22 /usr/src/linux
  • Schimbarea la / usr / src / linux
  • Am lansat instrumentul de configurare cu configuratia implicit ca punct de plecare: sudo make oldconfig menuconfig
În cazul în care lansarea sudo make oldconfig menuconfig , ea începe să întreb, nu aveţi setările implicite disponibile. Copie:

/usr/src/linux$ sudo cp /boot/config-2.6.22-9-i386 .config

Aici, dacă vrem să oprească şi să identifice cele două opţiuni pe care le avem pentru a activa sau dezactiva:

În primul rând avem pentru a descoperi ce procesor, probabil ştiţi deja, dar dacă nu, într-un terminal:

dmesg | grep CPU:

Se va spune puteţi avea mai multe linii, una dintre ele indică Procesor:

CPU: Intel Celeron (Coppermine) Steping 0a

[Menuconfig]

Avem de a intra în meniul de tip imagine procesor şi caracteristici

  • Selectarea Procesor de familie alege opţiunea care corespunde procesorul nostru, în acest caz Pentium-III/Celeron (Coppermine) / Pentium III Xeon
  • În acelaşi submeniu necontrolate generice x86 de sprijin şi Math Emulare. Aceste opţiuni ar fi necesară doar în cazul în care utilizaţi un 80 386 8086.8028 6 sau echivalent, care este puţin probabilă.
  • Dacă avem mai puţin de 4 GB de memorie în sistemul nostru putem pune în largul memorie opţiune de mare sprijin.
  • Dacă aveţi un procesor dual core precum Core 2 Duo, aveţi posibilitatea să activaţi suportul pentru utilizarea în acelaşi timp, multi-cotitură de sprijin de prelucrare symetric (nu am testat acest lucru)
  • Timer modificări de frecvenţă de la 250 la 300MHz (poate cu un Core 2 costume, dar pune-l la 1000)
  • Dacă aveţi un Toshiba sau Dell poate fi de acord laptop Toshiba si Dell laptop Asistenţă Asistenţă (mai puţin de lucruri să se încarce în memorie la pornire şi verificaţi)

Putem merge mai departe, de a scoate dispozitivul de sprijin pe care le sunt necesare în sistemul nostru special. Astfel vom obţine un nucleu mai mici şi mai eficiente, deoarece nu are de a verifica şi / sau codul de încărcare nu va avea mai multe dispozitive. Dar acest lucru este mai delicată, şi vom rula riscul ca, după o astfel de lungă aşteptare, nu funcţionează noul nucleu sau un dispozitiv asociat.

[Kernel menuconfig] video

De exemplu, în imagine, am oprit drivere grafice care le-am, şi niciodată nu vor, pentru că este un laptop, şi a plecat şoferul Trident. Este, mai presus de toate, pentru eliminarea acestor componente marcate cu [*], care sunt ceea ce fac "gras" pentru a kernel-ului.

Ei bine, am salvat modificările, şi începe generatoare de kernel-ul şi redefinit:

Vom pre-curatare:

sudo make-kpkg clean , şi să înceapă de compilare:

sudo make-kpkg --initrd --append-to-version=-p3 kernel_image kernel_headers

Înlocuieşte P3 (script-ul este obligatorie înainte) pentru ceva care distinge noul kernel-ului dvs. existente în computer. Acest proces, mai ales dacă un calculator este underpowered, poate dura 4-6 ore. Deci, atunci când lansa comanda fi bine să fie înainte de culcare. (Dacă aveţi un 3GHz Core 2 Duo va avea mult mai puţin, bineînţeles).

Iar în dimineaţa următoare ....

Veţi găsi două pachete deb în directorul mai sus de tine, / usr / src /. Una corespunde cu imaginea de kernel nou şi altul pentru izvoarele, care sunt necesare dacă compilaţi ceva despre el. Instala:

sudo dpkg -i linux-image-2.6.22.9-p3_2.6.22.9-p3-10.00.Custom_i386.deb

sudo dpkg -i linux-headers-2.6.22.9-p3_2.6.22.9-p3-10.00.Custom_i386.deb

Se recomandă, în sfârşit, ştergeţi link-ul simbolic /usr/src/linux .

Tu poţi pauză, iar acest lucru nou create, vor fi kernel-ul implicit.

Deşi nu am făcut nici o analiză comparativă detaliată, a se vedea diferenţa şi laptop-ul a câştigat unele agilitate. Deşi nu se aşteaptă minuni, mai ales cu un grafic şi un procesor de astfel de post.

Diagnostic şi Probleme

Kernel alte instalat, generic şi în cazul în care i386, sunt încă disponibile. Dacă există probleme trebuie doar să apăsaţi Esc la numărătoarea inversă Grub pentru a afişa meniul şi puteţi selecta unele din aceste, începând în mod normal şi în condiţii de siguranţă. Acest lucru duce la operaţiune delicată nu implică practic nici un risc.

Deb pachete enumerate în Synaptic nou instalat ca linux-image-2.6.22.9-P3 şi linux-headers-2.6.22.9-P3 şi putem confortabil şi uninstall de acolo, dacă este necesar.

Dacă doriţi să plece din nou, ca bază alternativă modifică pur şi simplu /boot/grub/menu.lst şi a pune în opţiunea default 0 la numărul de ordine al nucleului cu care ne-o dorim pentru a începe, sau pus în partea de sus a listei.

Driver compilate

Dacă aveţi drivere compilate pentru tine, este recompilat pentru a lucra cu noul nucleu.