Est-ce que cela vaut la peine d’accorder Ext4 avec noatime?


77

Avec les versions précédentes d’Ubuntu (utilisant le système de fichiers Ext3), je l’accordais pour obtenir de meilleures performances avec des résultats remarquables en définissant le noatimeparamètre dans /etc/fstab.

Cela vaut-il toujours la peine de le faire avec le système de fichiers Ext4, qui est maintenant le système par défaut dans Ubuntu? Si oui, la procédure a-t-elle changé d'une manière ou d'une autre?

Un exemple de cet accord peut être trouvé ici.

Réponses:


66

Sous Ubuntu 10.04, relatimefait partie des options de montage par défaut, sauf substitution dans /etc/fstab. Les quelques versions précédentes avaient relatimeexplicitement en /etc/fstab. relatimeoffre les mêmes avantages en termes de rapidité (et de conservation du cycle d'écriture flash) que les noatimeavertisseurs de courrier à l'ancienne.

L'article que vous citez recommande data=writeback. Ubuntu a la valeur par défaut data=ordered. Le paramétrage d'Ubuntu est plus lent en cas de charge de disque importante, mais présente un risque beaucoup moins grand de perte de données en cas de panne ou de panne de courant. Donc, je ne recommanderais pas de changer de la valeur par défaut Ubuntu.

Passer commit=5à commit=100augmente la fenêtre de temps pendant laquelle les données seront perdues en cas de crash, sans grand bénéfice dans la plupart des circonstances.

Résumé: laissez les paramètres tels quels, ils ont été choisis pour une raison.


AJOUTÉ: Il y a d'autres choses que les options de montage qui peuvent faire la différence. Passer de ext3à ext4est souvent une amélioration visible. Voici quelques conseils supplémentaires pour les utilisateurs d'ordinateurs portables.

  • Si vous avez un SSD lent, consultez ce fil sur SU . Les conseils importants sont à utiliser tmpfspour /tmpet pour le cache du navigateur (et peut-être l'historique).

  • Si vous avez un disque dur et que vous voulez qu'il arrête de tourner pendant de longues périodes, installez noflushd , qui permet au disque de s'éteindre en retardant toutes les écritures jusqu'à ce que la RAM soit pleine. (Bien sûr, les lectures peuvent provoquer une rotation du disque; vous voudrez prendre l'habitude de fonctionner cat /files/I/m/likely/to/need >/dev/nullavant que le disque ne s'essouffle .) Pour que noflushd soit efficace, désactivez tous les échanges et montez vos systèmes de fichiers avec quelque chose comme: commit=3600.

    L'utilisation efficace de noflushd signifie que vos données peuvent rester non écrites sur le disque pendant une période prolongée. Ceci est un risque, à comparer aux avantages de ne pas avoir de bruit ou de chaleur provenant du disque pendant un moment. N'utilisez pas noflushd si vous n'êtes pas à l'aise avec ce risque.


Je comprends le danger de modifier de la sorte, une partie de l'étape de ce tutoriel avec laquelle je ne suis pas d'accord, comme celle comit=100que vous avez également mentionnée. Mais je suis prêt à prendre des risques modérés pour améliorer les performances, car j'utilise un ordinateur portable et effectue des sauvegardes (presque) régulières.
Decio Lira

2
@Decio: noatimevs atimepeut faire une différence visible, mais je serais surpris que noatimevs le relatimefasse. J'ai ajouté quelques astuces spécifiques aux ordinateurs portables à ma réponse. J'ai personnellement observé des améliorations visibles de ces conseils. Noflushd comporte un risque que j'étais disposé à prendre quand je l'ai utilisé.
Gilles, arrête de faire le mal '13

Oui, je cherchais juste sur Google les différences entre noatime et relatime, et vous avez raison. relatime (qui est maintenant le défaut dans ubuntu) est un bon compromis entre atime et noatime.
Livre Decio

J'ai lu quelque chose à data=writebackce sujet . Il écrit simplement les données de fichier et les métadonnées dans un ordre aléatoire (par opposition à orderedce qui écrit toujours des métadonnées après les données) . Cela signifie qu'en cas de panne de courant, vous pouvez trouver votre fichier α octets de long, où 0 octets ont été réellement écrits. Eh bien… Mais c'est absolument naturel! J'ai toujours pensé que le système de fichiers augmente d'abord la taille du fichier, puis écrit les données. Trouver qu'il peut être dans l'ordre inverse nécessite de transformer ce modèle pour ajouter la mise en cache dans la RAM. Je ne suis pas convaincu pourquoi ne pas utiliser writebacksi cela peut aider à améliorer la latence.
Bonjour Angel

17

Oui, il peut toujours être judicieux d'utiliser à noatimepartir d'Ubuntu 12.10

relatimeest une option de montage par défaut. Et relatimec'est bien mieux que atime. Le premier nécessite une écriture pour la première lecture après une écriture, le dernier nécessite une écriture pour chaque lecture. Mais à noatimechaque lecture est libre d'une écriture.

Cela signifie fondamentalement que le nombre d'écritures sur un disque pour le relatimemontage est presque doublé par rapport à un noatimemontage identique. C'est une préoccupation sérieuse pour les partitions sur des périphériques de mémoire flash.

La discussion détaillée par la communauté du noyau Linux est à http://kerneltrap.org/node/14148


3
Le facteur deux n'est pas correct en général. En théorie, le facteur est compris entre 1 (fichier utilisé à l'infini) et 2 (fichier utilisé à l'infini). Cela signifie que le vrai facteur est fondamentalement 1, car les facteurs proches de 2 ne comptent pas beaucoup dans la moyenne.
Patrick Häcker

1 est pour les fichiers en écriture seule. 2 est pour tous les autres. Les fichiers en écriture seule sont inutiles, mais ils peuvent apparaître de temps en temps. Donc, mon estimation originale devrait être pertinente.
Yanychar

@yanychar: merci pour expliquer les relatimeinconvénients et le partage de la discussion kerneltrap, mais en disant « il n'y a pas de point dans les fichiers d'écriture seule » est un non - sens: tous /usret /libsont des fichiers en lecture seule. En fait, la plupart des arbres, sans /homeet /var, sont en lecture seule. Les fichiers /etcchangent également très rarement.
MestreLion

2
@MestreLion: Ubuntu installe des tonnes de paquets. Les paquets sont mis à jour de temps en temps. S'il n'y a pas eu de lecture de fichier entre les instants d'installation du paquet et de mise à niveau, le fichier était en "écriture seule". Il n'y a pas d'écriture supplémentaire par relatimerapport à noatimepour le fichier. Pour tout le reste, il y a une écriture supplémentaire lors de la lecture du fichier.
Yanychar
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.