Czy używanie noatime we współczesnym systemie Linux ma sens?

14

Począwszy od wersji 2.6.30 (która została wydana 5 lat temu), Linux ma relatimedomyślnie włączoną opcję . Oznacza to, że aktualizacje czasu dostępu do plików są bardzo rzadkie i ostrożne.

Ale wciąż widzę rekomendacji używać noatimedanych lub dysków SSD. Czy istnieje powód, aby zmienić domyślną konfigurację i użyć jej? Czy robi to jakąś wymierną różnicę w porównaniu do relatime?

valodzka
źródło

Odpowiedzi:

8

Naprawdę nie ma jednej odpowiedzi na to pytanie. Wszystko zależy od wielu czynników, w tym aplikacji korzystających z systemu plików, od tego, jaka kombinacja aktywności odczytu / zapisu się dzieje i od samego sprzętu.

relatimeistnieje jako kompromis w celu zapewnienia, że ​​niektóre (starsze) aplikacje, takie jak systemy poczty e-mail, używają wartości atime w celu ustalenia, czy plik / wiadomość została odczytana od momentu dostarczenia. Jako taka jest bezpieczną opcją dla domyślnego systemu plików.

Przed rozważeniem zamontowania systemu plików wraz z nim noatimenależy skontrolować użycie systemu plików, aby upewnić się, że żadna aplikacja nie zależy od czasu poprawnego działania.

Zakładając, że żaden użytkownik systemu plików nie zależy od atime, to czy warto zmienić wartość domyślną, tak naprawdę zależy od ilości odczytów i zapisów w systemie plików. Użycie głównie do odczytu prawdopodobnie nie zrobi zbyt dużej różnicy, ale jeśli w tym samym pliku jest duża ilość odczytów / zapisów (tj. Typowe obciążenia bazy danych), okaże się, że większość odczytów obejmuje również zapis atime i że wpłynie na wydajność.

Jeśli system plików jest używany tylko do pracy z bazą danych, powinien być bezpieczny w użyciu noatime, co ograniczy zapisy do systemu plików.

Na koniec dnia noatimenie należy go używać bez należytego rozważenia, a jaką różnicę można ustalić, porównując go z określonym obciążeniem.

Richm
źródło
1
Jak poszedłbyś na temat kontroli wykorzystania systemu plików, aby upewnić się, że żadna aplikacja nie jest zależna od atime?
johnboiles
1
Dobre pytanie i niestety nie ma prostej odpowiedzi. Wolałbym mieć nadzieję, że aplikacje oparte na atime wywołają to w dokumentach README, instalacyjnych lub FAQ. Historycznie jednym z głównych użytkowników atime w stosunku do mtime były oparte na plikach agenty użytkownika poczty (MUA), które śledzą to, co zostało przeczytane i nie zostało odczytane od czasu dostarczenia. Moje podejście często polegało na wyłączeniu modyfikacji atime i uważaniu na wszystko, co się psuje. Historycznie pozostawiłem / var z włączonym śledzeniem relatywnym, ale w nowszych instalacjach zwykle go wyłączałem.
Richm