Linux nopeammaksi

Linux.fista
(Ohjattu sivulta Ubuntu nopeammaksi)
Siirry navigaatioon Siirry hakuun

Linux-järjestelmää voi yrittää nopeuttaa monilla eri tavoilla. Yksinkertaisimpia vaihtoehtoja ovat esimerkiksi visuaalisten tehosteiden (esim. Compiz Fusion) poistaminen käytöstä ja työpöytäympäristön vaihtaminen KDE:stä tai GNOME:sta kevyempään Xfcehen, tai jopa järjestelevään ikkunanhallintajärjestelmään kuten i3 ja muidenkin ohjelmien vaihtaminen kevyempiin vaihtoehtoihin, tai graafisista tekstipohjaisiin, joita Linux-jakeluille on saatavissa huomattava määrä. Toisaalta konetta voi nopeuttaa myös tinkimättä ohjelmien monipuolisuudesta ja visuaalisista tehosteista.

Käynnistyksen nopeuttaminen[muokkaa]

Grub profile[muokkaa]

Pysäytä Grub käynnistysvalikkoon ja käy lisäämässä käynnistysparametririville sana profile. Tällöin Grub profiloi käynnistyksen jotta seuraava käynnistys olisi nopeampi.

(s/u)readahead[muokkaa]

Nopeamman käynnistymisen saa, kun käynnistysvaiheessa kiintolevyltä luetaan kaikki tarvitavat tiedot yhteen pötköön. Tätä varten esimerkiksi Ubuntussa on vakiona ureadahead. Ureadaheadin profilointi ajetaan automaattisesti järjestelmässä on käynnistykseen vaikuttava muutos, eli sen toiminta on valmiiksi melko optimoitua.

Analysoi käynnistystä[muokkaa]

Käynnistystä voi analysoida mm. bootchart-ohjelmalla. Debianissa sen asennus tapahtuu helposti komennolla:

sudo apt-get install bootchart

Jokaisesta käynnistyksestä sen jälkeen tulee loki ja kuvatiedosto kansioon /var/log/bootchart. Kaaviosta voit analysoida mikä käynnistyksessä kestää.

Voit myös seurata käynnistymistä suoraan jos poistat animaatiot käynnistyksessä: GRUBin valikossa paina e-näppäintä, valitse rivi, joka alkaa sanalla kernel ja poista riviltä sanat splash ja quiet. Katso viesteistä, missä kohdassa kone pysähtyy pitkiksi ajoiksi ja mieti, voisiko kyseistä vaihetta jotenkin nopeuttaa.

Monesti käynnistyksen yhteydessä käynnistyy sovelluksia, jotka ovat käyttäjälle tarpeettomia, esimerkiksi ssh-palvelinohjelma saattaa käynnistyä automaattisesti. Automaattisesti käynnistyviä palveluita voi muokata muokkaamalla ajotasoja: siirtyessään tietylle ajotasolle Linux suorittaa hakemistossa /etc/rc.AJOTASO.d olevat skriptit. Näitä skriptejä muokkaamalla/poistamalla voi hallita automaattisesti käynnistyviä palveluita. Lisäksi tähän tarkoitukseen löytyy erillisiä ohjelmia, kuten sysv-rc-conf ja bum.

Ole kuitenkin varovainen poistaessasi palveluita: monet automaattisesti käynnistyvät palvelut ovat järjestelmän toiminnan kannalta elintärkeitä. Toisaalta esimerkiksi bluetooth-palvelun voi huoletta poistaa käytöstä, jos bluetooth-yhteyksille ei ole tarvetta. Katso tarkempi init-skriptit-listaus tuunausta varten.

Nykyaikaisissa Linux-jakeluissa vanha sysvinit on korvattu uudemmilla järjestelmillä (esim. Upstart tai Systemd) joissa käynnistysskriptit ajetaan rinnakkain tai niiden ajoa lykätään niin kauan kunnes niitä oikeasti tarvitaan. Näin ollen uudemmissa Linux-jakeluissa käynnistysskriptien poistaminen ei välttämättä nopeuta mitään.

Vanhassakin sysvinit:ssä käynnistysskriptejä voi ajaa moniprosessorikoneella jossain määrin rinnakkain muuttamalla tiedostossa /etc/init.d/rc kohdan CONCURRENCY=none muotoon CONCURRENCY=shell.

Räätälöi Linux-ydin (kernel)[muokkaa]

Nykyaikaisissa Linuxeissa ainoa asia, mitä käyttäjä voi tehdä koneen käynnistymisen lisäoptimoimiseksi kunnolla, on tehdä itselleen räätälöity Linux-ydin eli kernel, jossa on kaikki juuri kyseisessä tietokoneessa tarvittavat moduulit eikä mitään muuta. Näin käynnistyksessä voidaan ohittaa modprobe-vaihe, joka yleensä kestää pari-kolme sekuntia.

Lisätietoja aiheesta ja viiden sekunnin Linux-käynnistyminen on esitelty LWN.net:n artikkelissa.

Kirjautuminen[muokkaa]

  • Älä käynnistä raskaita ohjelmia automaattisesti kirjautumisen yhteydessä
  • Käytä prelink-toimintoa, jos käytät isoja C++-ohjelmia (KDE, Qt)
  • GNOME ja KDE käynnistyvät hitaasti, fluxbox ja fvwm salamannopeasti.

Automaattisesti käynnistyvät ohjelmat[muokkaa]

Gnomessa voi valikosta muokata automaattisesti käynnistyviä ohjelmia komennolla gnome-session-properties. Jos valikkoa ei tule, kuten esimerkiksi Ubuntussa, täytyy se erikseen aktivoida käyttöön komennolla

sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop

Nyt valikko pitäisi tulla komennolla gnome-session-properties. Valikon saa myös tarvittaessa piilotettua

sudo sed -i 's/NoDisplay=false/NoDisplay=true/g' /etc/xdg/autostart/*.desktop

Fyysisen muistin säästäminen[muokkaa]

  • Käytä joko GNOMEa tai KDE:tä ja niiden ohjelmia (siis GTK- ja Qt-ohjelmia) - älä aja molempien ohjelmia rinnakkain, jos se ei ole pakollista. Näin säästytään lataamasta samat asiat toteuttavia kilpailevia kirjastoja kahteen kertaan. Jos muistia ei ole paljoa, ei kannata käyttää kumpaakaan työpöytäympäristöä vaan pitäytyä kevyemmissä vaihtoehdoissa (Xfce, fluxbox, fvwm).
  • Varaa riittävästi sivutustilaa (swap)

Swappiness[muokkaa]

Joskus taas tietokoneessa saattaa olla sellainen tilanne, että nopeaa RAM-muistia olisi vielä vapaana, mutta kone alkaa käyttämään sivustustilaa, joka on kiintolevyllä ja näin ollen hidasta. Linux-ytimen algoritmiä kannattaa silloin muuttaa siten, että se välttää sivutusmuistin käyttöä.

Avaa tiedosto /etc/sysctl.conf ja lisää sen loppuun (tai korvaa luku jos se on jo siellä): vm.swappiness=10

Prosessorikuorma[muokkaa]

  • Poista ylimääräinen silmänkarkki
  • Käytä omalle suorittimellesi optimoitua ydintä ja ohjelmia
  • Tarkkaile, mitkä ohjelmat kuluttavat suoritintehoa

Etäyhteydet[muokkaa]

Harvemmin tulee ajateltua, että optimointi voi kohdistua myös etäyhteyksiin. Etäyhteyksissä rajoittavana tekijänä ei yleensä ole koneiden suoritusteho vaan käytettävissä oleva siirtokapasiteetti ja vasteajat.

  • Käytä tekstitilaa (ssh) ellei graafisen etäyhteyden käyttöön ole erillistä syytä
  • Vertaile vaihtoehtoja (X vs. vnc vs. NX), pakkauksen vaikutusta yms.

Aiheesta muualla[muokkaa]