Mengapa kucing tidak mengubah waktu akses?

25

Panggilan kedua untuk menyimpan file tidak memperbarui waktu akses. Saya mengharapkan waktu akses diperbarui setiap kali konten file ditampilkan.

Saya melihat perilaku yang sama jika saya membuka file di browser web. Waktu aksesnya tidak diperbarui secara konsisten.

Apakah saya salah memahami waktu akses? Apa perbedaan antara dua panggilan kucing?

uji $ sentuh
tes $ stat
  File: `test '
  Ukuran: 0 Blok: 0 IO Blok: 4096 file kosong biasa
Perangkat: 803h / 2051d Inode: 152694 Tautan: 1
Akses: (0664 / -rw-rw-r--) Uid: (1001 / aaron) Gid: (1001 / aaron)
Akses: 2012-08-21 11: 05: 40.586020996 +0200
Ubah: 2012-08-21 11: 05: 40.586020996 +0200
Ubah: 2012-08-21 11: 05: 40.586020996 +0200
 Kelahiran: -

Tes $ vim
tes $ stat
  File: `test '
  Ukuran: 5 Blok: 8 IO Blok: 4096 file biasa
Perangkat: 803h / 2051d Inode: 152694 Tautan: 1
Akses: (0664 / -rw-rw-r--) Uid: (1001 / aaron) Gid: (1001 / aaron)
Akses: 2012-08-21 11: 05: 52.890021630 +0200
Ubah: 2012-08-21 11: 06: 31.606023626 +0200
Ubah: 2012-08-21 11: 06: 31.638023629 +0200
 Kelahiran: -

$ tes kucing
uji

tes $ stat
  File: `test '
  Ukuran: 5 Blok: 8 IO Blok: 4096 file biasa
Perangkat: 803h / 2051d Inode: 152694 Tautan: 1
Akses: (0664 / -rw-rw-r--) Uid: (1001 / aaron) Gid: (1001 / aaron)
Akses: 2012-08-21 11: 06: 44.662024298 +0200
Ubah: 2012-08-21 11: 06: 31.606023626 +0200
Ubah: 2012-08-21 11: 06: 31.638023629 +0200
 Kelahiran: -

$ tes kucing
uji

tes $ stat
  File: `test '
  Ukuran: 5 Blok: 8 IO Blok: 4096 file biasa
Perangkat: 803h / 2051d Inode: 152694 Tautan: 1
Akses: (0664 / -rw-rw-r--) Uid: (1001 / aaron) Gid: (1001 / aaron)
Akses: 2012-08-21 11: 06: 44.662024298 +0200
Ubah: 2012-08-21 11: 06: 31.606023626 +0200
Ubah: 2012-08-21 11: 06: 31.638023629 +0200
 Kelahiran: -
nelaaro
sumber

Jawaban:

44

http://en.wikipedia.org/wiki/Stat_(system_call)

Kritik terhadap atime

Menulis ke file mengubah waktu dan waktu, saat membaca file mengubah atime-nya. Akibatnya, pada sistem yang mendukung POSIX, membaca file menyebabkan penulisan, yang telah dikritik. Perilaku ini biasanya dapat dinonaktifkan dengan menambahkan opsi mount di / etc / fstab.

Namun, mematikan pembaruan atime merusak kepatuhan POSIX, dan beberapa aplikasi, terutama mutt mail reader (dalam beberapa konfigurasi), dan beberapa utilitas menonton penggunaan file, khususnya tmpwatch. Dalam kasus terburuk, tidak memperbarui atime dapat menyebabkan beberapa program cadangan gagal mencadangkan file.

Pengembang kernel Linux Ingo Molnár menyebut atime "mungkin ide desain Unix paling bodoh sepanjang masa," menambahkan: "Tinjau sedikit tentang ini: 'Untuk setiap file yang dibaca dari disk, mari kita lakukan ... tulis ke disk! Dan, untuk setiap file yang sudah di-cache dan yang kita baca dari cache ... lakukan tulis ke disk! '"Dia lebih jauh menekankan dampak kinerja sebagai berikut:

Pembaruan Atime sejauh ini merupakan kekurangan kinerja IO terbesar yang dimiliki Linux saat ini. Menyingkirkan pembaruan atime akan memberi kita lebih banyak kinerja Linux setiap hari daripada semua percepatan pagecache selama 10 tahun terakhir, dikombinasikan .

bagaimana cara mengetahui apakah noatime atau relatime adalah opsi mount default di kernel?

man mount
....
   relatime
          Update inode access times relative to  modify  or  change  time.
          Access time is only updated if the previous access time was ear
          lier than the current modify or change time. (Similar  to  noat
          ime,  but  doesn't break mutt or other applications that need to
          know if a file has been read since the last time  it  was  modi‐
          fied.)

          Since Linux 2.6.30, the kernel defaults to the behavior provided
          by this option (unless noatime was  specified), and the stricta‐
          time  option  is  required  to  obtain traditional semantics. In
          addition, since Linux 2.6.30, the file's  last  access  time  is
          always  updated  if  it  is more than 1 day old.
....

Begitulah cara partisi tertentu dipasang dan mengapa cat tidak memperbarui waktu akses seperti yang saya harapkan.

nelaaro
sumber
Info lebih lanjut tentang cara ubuntu menangani atime askubuntu.com/questions/2099/...
nelaaro
Berikut ini adalah diskusi yang lebih lama tentang bagaimana atime dipengaruhi oleh opsi mount yang berbeda. linux.koolsolutions.com/2009/01/30/…
nelaaro