Atime

Linux.fista
Versio hetkellä 21. marraskuuta 2008 kello 14.14 – tehnyt Pb (keskustelu | muokkaukset) (Luokka:Ohjeet)
Siirry navigaatioon Siirry hakuun

atime on Unixin tiedostojärjestelmien ylläpitämä tietue, joka kertoo tiedoston edellisen avausajankohdan. Muita vastaavia tietueita ovat mtime, joka kertoo edellisen muokkausajankohdan, sekä ctime, joka kertoo edellisen statusmuutoksen, kuten sisällön muokkauksen tai tiedoston oikeuksien ja tiedostoattribuuttien muuttamisen ajankohdan.

Tiedoston atime-leiman näkee komennolla

ls -lu

mtimen komennolla

ls -a

ja ctimen komennolla

ls -lc

Tehonkulutus

Atimen ongelmana on, että tiedostojen lukemisia tapahtuu todella usein, mikä aiheuttaa järjestelmälle jatkuvan tarpeen muuttaa atime-leimoja. Tämä taas johtaa siihen, että huomattavan suuri osa järjestelmän tehosta (tietyissä tapauksissa jopa kymmeniä prosentteja) kuluu atime-leimojen muuttamiseen.

Ratkaisuna tähän on poistaa atime käytöstä joko osittain tai kokonaan. Tiedostojärjestelmää liitettäessä on käytössä neljä erilaista atime-asetusta:

  • atime - muutetaan aina atime-leimoja (oletus)
  • nodiratime - ei muuteta hakemistojen atime-leimoja
  • relatime - muutetaan atimea vain silloin, kun se on vanhempi kuin mtime tai ctime
  • noatime - ei koskaan muuteta atimea

Yleensä on suositeltavinta käyttää noatime-asetusta. On kuitenkin olemassa joitakin ohjelmia (esimerkiksi mutt-sähköpostiohjelma), jotka tarvitsevat tietoa siitä, milloin tiedostoa on viimeksi luettu sen muokkaamisen jälkeen. Tällaisia ohjelmia käytettäessä riittää yleensä relatime-asetuksen käyttö. Tavallinen työpöytäkäyttäjä ei käytännöllisesti katsoen koskaan törmää atimea hyödyntäviin ohjelmiin.

Jo liitetyn tiedostojärjestelmän voi muuttaa käyttämään noatimea komennolla

mount -o remount,noatime liitospiste

Pysyvämmin asetuksen saa käyttöön lisäämällä sen fstabiin (neljäs sarake) esimerkiksi seuraavasti:

/dev/hdc1  /home  ext3    defaults,noatime    0  2

Aiheesta muualla