Ero sivun ”Linux nopeammaksi” versioiden välillä
(gtk ja qt) |
pEi muokkausyhteenvetoa |
||
(10 välissä olevaa versiota 10 käyttäjän tekeminä ei näytetä) | |||
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 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 == | == Käynnistyksen nopeuttaminen == | ||
=== Grub profile === | |||
Pysäytä Grub käynnistysvalikkoon ja käy lisäämässä käynnistysparametririville sana <tt>profile</tt>. Tällöin Grub profiloi käynnistyksen jotta seuraava käynnistys olisi nopeampi. | |||
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. | === (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 <tt>/var/log/bootchart</tt>. Kaaviosta voit analysoida mikä käynnistyksessä kestää. | |||
Voit myös seurata käynnistymistä suoraan jos poistat animaatiot käynnistyksessä: [[GRUB]]in valikossa paina e-näppäintä, valitse rivi, joka alkaa sanalla <tt>kernel</tt> ja poista riviltä sanat <tt>splash</tt> ja <tt>quiet</tt>. 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 [[ajotaso]]ja: siirtyessään tietylle ajotasolle Linux suorittaa hakemistossa <tt>/etc/rc.AJOTASO.d</tt> 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 <tt>bum</tt>. | |||
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. [http://en.wikipedia.org/wiki/Upstart Upstart] tai [http://en.wikipedia.org/wiki/Uystemd 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 <tt>/etc/init.d/rc</tt> kohdan <tt>CONCURRENCY=none</tt> muotoon <tt>CONCURRENCY=shell</tt>. | |||
=== 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 [http://lwn.net/Articles/299483/ LWN.net:n artikkelissa]. | |||
== Kirjautuminen == | == Kirjautuminen == | ||
Rivi 12: | Rivi 36: | ||
* Käytä [[prelink]]-toimintoa, jos käytät isoja C++-ohjelmia ([[KDE]], [[Qt]]) | * Käytä [[prelink]]-toimintoa, jos käytät isoja C++-ohjelmia ([[KDE]], [[Qt]]) | ||
* GNOME ja KDE käynnistyvät hitaasti, [[fluxbox]] ja [[fvwm]] salamannopeasti. | * GNOME ja KDE käynnistyvät hitaasti, [[fluxbox]] ja [[fvwm]] salamannopeasti. | ||
===Automaattisesti käynnistyvät ohjelmat=== | |||
[[Gnome]]ssa 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 == | == 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]]). | * 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'') | * 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 <tt>/etc/sysctl.conf</tt> ja lisää sen loppuun (tai korvaa luku jos se on jo siellä): <tt>vm.swappiness=10</tt> | |||
== Prosessorikuorma == | == Prosessorikuorma == | ||
Rivi 26: | Rivi 60: | ||
* Käytä tekstitilaa ([[ssh]]) ellei graafisen etäyhteyden käyttöön ole erillistä syytä | * Käytä tekstitilaa ([[ssh]]) ellei graafisen etäyhteyden käyttöön ole erillistä syytä | ||
* Vertaile vaihtoehtoja ([[X]] vs [[vnc]] | * Vertaile vaihtoehtoja ([[X]] vs. [[vnc]] vs. NX), pakkauksen vaikutusta yms. | ||
== Aiheesta muualla == | == Aiheesta muualla == | ||
Rivi 32: | Rivi 66: | ||
[[Luokka:Vinkit]] | [[Luokka:Vinkit]] | ||
[[Luokka:Ohjeet]] |
Nykyinen versio 22. maaliskuuta 2021 kello 10.46
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]
- Ubuntun tuunaus - ohjeita Ubuntun nopeuttamiseksi Ubuntu Suomen wikissä