Ero sivun ”Linux nopeammaksi” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
pEi muokkausyhteenvetoa
Rivi 1: Rivi 1:
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 [[Xfce]]hen ja muidenkin ohjelmien vaihtaminen kevyempiin vaihtoehtoihin. Toisaalta konetta voi nopeuttaa myös tinkimättä ohjelmien monipuolisuudesta ja visuaalisista tehosteista.
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 [[Xfce]]hen, tai jopa järjestelevään ikkunanhallinta jä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 ==
== Käynnistyksen nopeuttaminen ==

Versio 19. maaliskuuta 2021 kello 20.42

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 ikkunanhallinta jä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

Grub profile

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

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ä

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)

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

  • Ä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

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

  • 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

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

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

Etäyhteydet

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