Atime

Linux.fista
Versio hetkellä 25. maaliskuuta 2009 kello 14.35 – tehnyt Pb (keskustelu | muokkaukset) (→‎Tehonkulutus: näin kai?)
Siirry navigaatioon Siirry hakuun

atime on Unixin tiedostojärjestelmien ylläpitämä tietue, joka kertoo tiedoston edellisen avausajankohdan. Muita aikaleimatietueita 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 -l

ja ctimen komennolla

ls -lc

Vastaavasti tiedostot voi järjestää kyseisen aikaleiman mukaan valitsimella -t

ls -lut
ls -ut

Tehonkulutus

atimen ongelmana on, että tiedostojen lukemisia tapahtuu joissakin järjestelmissä todella usein, mikä aiheuttaa järjestelmälle jatkuvan tarpeen muuttaa atime-leimoja. Tämä taas johtaa joissakin erikoistilanteissa siihen, että huomattavan suuri osa järjestelmän tehosta kuluu atime-leimojen muuttamiseen. Ratkaisuna tähän on poistaa atime käytöstä joko osittain tai kokonaan niiden osioiden osalta, jossa sen ylläpito aiheuttaa ongelmia.

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ä ongelmallisilla osioilla voi käyttää asetusta noatime. On kuitenkin olemassa joitakin ohjelmia (esimerkiksi mutt-sähköpostiohjelma), jotka tarvitsevat tietoa siitä, milloin tiedostoa on viimeksi luettu sen muokkaamisen jälkeen (eli onko tiedostossa uusia viestejä). Tällaisia ohjelmia käytettäessä riittää yleensä relatime-asetuksen käyttö. Työpöytäympäristöjen ohjelmat valvovat yleensä näitä tiedostoja eri tekniikalla.

atimen päivittämättä jättäminen tarkoittaa, että käyttämättömiä ja siten luultavasti hyödyttömiä tiedostoja on vaikeampi löytää. atimen käyttö tähän tarkoitukseen edellyttää, ettei atime päivity varmuuskopioimisen, tiedostojen indeksoinnin tms. yhteydessä. nodiratime on tässä turvallisempi.

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

Vastaavasti atimen saa väliaikaisesti käyttöön, esimerkiksi kun haluaa tarkistaa lukeeko ohjelma sitä tiedostoa mitä sen luulee lukevan:

mount -o remount,atime liitospiste

Katso myös

Aiheesta muualla