Ero sivun ”Linux nopeammaksi” versioiden välillä
(→(s/u)readahead: typo pois) |
(elikä -> eli) |
||
Rivi 7: | Rivi 7: | ||
=== (s/u)readahead === | === (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, | 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ä === | === Analysoi käynnistystä === |
Versio 11. huhtikuuta 2013 kello 15.51
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 ja muidenkin ohjelmien vaihtaminen kevyempiin vaihtoehtoihin. 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. Ubuntussa 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, etä 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
- Ubuntun tuunaus - ohjeita Ubuntun nopeuttamiseksi Ubuntu Suomen wikissä