Chromen välimuisti RAM-Levylle

RAM-Levy tai RAM-Disk on jokaisen vanhan UNIX- tai DOS-hörhön tuntema ”kikka kuutonen”, jossa koneen keskusmuistista varataan osa käyttöön ikään kuin kiintolevyksi. RAM-levyn huonoihin puoliin voidaan lukea se, että tieto mitä sille kirjoitetaan häipyy siltä kun kone käynnistetään uudestaan, joissain tapauksissa myös aiemminkin eli RAM-levystä ei ole jatkuvaan tiedon varastointiin, mutta tilapäiskäyttöön se soveltuu erinomaisesti.

Etenkin DOS:n kulta-aikoina, silloin wanhaan hyvään aikaan kun tietokoneet olivat rautaa, kiintolevyt fyysisesti isoja, mutta kapasiteetiltaan pieniä ja Redmondin pajalta julkaistiin viimeinen toimiva käyttöjärjestelmä eli DOS 😉 RAM-levyn askartelu taisi kuulua joka nörtin perustaitoihin. Itse käytin sitä mm. tilapäistiedostojen (temp-file) varastona.

Mutta entäpäs nykyaikana kun koneet ovat heppoista mitä lie peltiä, bitit virtaa vauhdilla, kellotaajudet kilkkaa niin että hitaampaa hirvittää ja kiintolevyn kapasiteetitkin ovat sitä luokkaa ettei sitä normaali kuolevainen kerkiä elinikänään täyttämään. Mihin enää nykyään moista RAM-levyä edes tarvitsee? No setäpä kertoo sen teille. RAM-levylle voi siirtää vaikkapa selaimen välimuistin. Miksi? – kysytte varmasti tässä vaiheessa. No ihan siksi, että isot pojat ovat kertoneet ja omat kokemuksenikin sen vahvistavat, että sivujen latautuminen nopeutuu ja jos koneessasi on SSD-levy sekään ei jatkuvasti huuda hoosiannaa RAM-levyä käytettäessä. Firefox:lla välimuistin siirtäminen RAM-levylle ei kovin kummoisia loitsuja vaadi, mutta Chorme- ja Chromium-selaimissa välimuistia ei voi siirtää suoraan asetuksista RAM-Levylle.

Onneksi Linux-puolella homman saa hoitumaan parilla bash-kikkareella ja osuvalla loitsulla. Tämän ohjeistuksen bongasin netin syövereistä ja kiitokset siitä lähtee OMG!UBUNTU-Blogin suuntaan. Mutta pidemmittä lätinöittä itse asiaan:

Ensin luomme itse RAM-levyn eli kajautetaan pääte eli terminal tulille:
Koska pääjärjestelmäni on Ubuntu-pohjainen komennan seuraavaa:

sudo gedit /etc/fstab

Lisäämme filetsun loppuun rivin:

tmpfs /media/ramdisk tmpfs defaults,noatime,mode=1777 0 0

Tallennetaan tiedosto ja komennetaan päätteessä:

sudo mkdir /media/ramdisk

…ja hieman lisää loitsuja peliin edelleen päätteessä käskytetään:

sudo gedit .chromecache

…ja lisätään pätkä koodia:

#!/bin/sh
#for the google chrome cache
/bin/rm ~/.cache/google-chrome
/bin/mkdir /media/ramdisk/google-chrome
/bin/ln -s /media/ramdisk/google-chrome ~/.cache/google-chrome
#for the chromium cache
/bin/rm ~/.cache/chromium
/bin/mkdir /media/ramdisk/chromium
/bin/ln -s /media/ramdisk/chromium ~/.cache/chromium

Tallennetaan ja suljetaan gedit. Seuraavaksi annamme skriptille tarvittavat suoritusoikeudet komentamalla päätteessä:

sudo chmod +x ~/.chromecache

Seuraavaksi askarrellaan skripti ajettavaksi jokaisen käynnistyksen yhteydessä. Tähän on muutama näppärä tapa puhtaasti tekstipohjaisilla työkaluilla, mutta tehdään homma äärimmäisen helpoksi ja käyttäjäystävälliseksi ja lisätään se Gnomen käynistettäviin ohjelmiin karauttamalla: Järjestelmä -> Asetukset -> Käynnistettävät ohjelmat ja lisätään uusi seuraavilla arvoilla:

Nimi: Chrome Cache
Komento: ~/.chromecache

Nyt Chrome-selaimen välimuisti sijaitsee aiemmin luodulla RAM-levyllä ja eron pitäisi kyllä huomata.

Firefox

Päivitetään hieman tätäkin merkintää. Kommenttiosiossa jo selvitinkin kuinka vastaava toteutetaan Firefox-selaimelle, mutta itsellenikin uusi asia oli, että ominaisuus on selaimessa jo sisäänrakennettuna ja kytkettävissä käyttöön ilman RAM-levyn tekemistäkin. Se tietotekniikassa on niin tolkuttoman mielenkiintoista, että vuosienkin jälkeen aina oppii jotain uutta ja ihmeellistä. Seuraavan vinkin bongasin Lifehacker-sivustolta, joten propsit sinne suuntaan 🙂
Toimii tällaisenaan myös muissa kuin Linux-järjestelmissä!

Käyttöönotto:

Selaimen riville: about:config
Suodata kenttään: browser.cache.disk.enable ja vaihdetaan tilaksi: false
Seuraavaksi: browser.cache.memory.enable asetetaan: true
Luodaan uusi kokonaisluku: browser.cache.memory.capacity ja annetaan arvoksi lukema jonka haluat varata muistia välimuistille. Esimerkin valossa arvo: 100000 = 100,000 kilotavua eli 100 megatavua. Arvo -1 määrittää dynaamisesti välimuistin sen mukaan kuin laitteistossasi on muistia.

8 Comments

Agakonna

about 6 vuotta ago

Kuinka sama sitten tarkalleen tehdään Firofoxsille? Riittääkö parin asetuksen muuttaminen?

fmatic

about 6 vuotta ago

Firefoxille sama tehdään seuraavasti: Oletetaan, että olet jo Linuxissa luonut RAM-levyn, joka on liitetty: /media/ramdisk Firerfox:n osoiteriville: about:config Suodata-laatikkoon: browser.cache.disk.parent_directory Jos sitä ei löydy täytyy se luoda eli merkkijono, jolle annetaan nimeksi: browser.cache.disk.parent_directory ja arvoksi /media/ramdisk/ Jos merkkijono löytyy riittää, että sen arvoksi asettaa: /media/ramdisk/

Walt

about 6 vuotta ago

Pitäiskö tossa kohdassa " …ja hieman lisää loitsuja peliin edelleen päätteessä käskytetään: sudo mkdir /media/ramdisk " lukea jotain tämmöistä pikemminkin: …ja hieman lisää loitsuja peliin edelleen päätteessä käskytetään: sudo gedit .chromecache Ohjessa on siis komento " sudo mkdir /media/ramdisk " kahteen kertaan.

fmatic

about 6 vuotta ago

Kiitos tarkkaavaisuudesta :) Korjattu!

Kimmo

about 3 vuotta ago

Ei onnistu. chromium tallentaa edelleen kotikansion (käyttäjä/.cache) (Tiedostoja lukiessa kiintolevy "rutisee) Mitä tein väärin? minulla on kotikansio (/home) omalla kiintolevyllä ja käyttöjärjetelmä (/) omalla SSD levyllä. ramdisk näkyy koneella ja sinne voi tallentaa. cache sinne ei mene?

fmatic

about 3 vuotta ago

Moderneissa Linux-jakeluista löytyy nykyään hakemistot /dev/shm tai /run/shm, jotka toimivat samalla periaatteella kuin ramdisk. Riittää kun siirrät Chromium:n ~/.cache-hakemiston sinne ja luot symbolisen linkin: mkdir /dev/shm/user (tai mkdir /run/shm) mv ~/.cache /dev/shm/user/.cache ln -s /dev/shm/user/.cache (vaihda user käyttäjänimeksesi) Tosin kun käynnistät koneesi uudelleen menetät /dev/shm/user - hakemiston ja sen sisällön, mutta se ei haittaa menoa, sillä riittää, että luot sen käynnistettäessä uudelleen. Lisää crontab:n rivi @reboot mkdir /dev/shm/user Kokeilepas saisitko tuolla toimimaan?

kimmo

about 3 vuotta ago

mkdir /dev/shm/user (tai mkdir /run/shm) mv ~/.cache /dev/shm/user/.cache ln -s /dev/shm/user/.cache Eikös tuo siirrä koko Cache kansion? Siis kaikkien ohjelmien? Pitäiskö sen olla näin: mv ~/.cache /dev/shm/user/.cache/chromium/cache ln -s /dev/shm/user/.cache/chromium/cache (vaihda user käyttäjänimeksesi)

fmatic

about 3 vuotta ago

Olet oikeassa. Mun komento siirtää koko cachen ja tuo sinun kirjoittamasi on oikea kun siirretään pelkästään chromiumin cache. Hyvä huomio! :)

Comments Closed