web-dev-qa-db-fra.com

Différence entre les options de montage «sync» et «async»

Quelle est la différence entre les options de montage sync et async du point de vue de l'utilisateur final? Le système de fichiers monté avec l'une de ces options fonctionne-t-il plus rapidement que s'il était monté avec une autre? Quelle option est celle par défaut, si aucune d'entre elles n'est définie?

man mount indique que l'option sync peut réduire la durée de vie de la mémoire flash, mais elle peut être obsolète par la sagesse conventionnelle. Quoi qu'il en soit, cela me préoccupe un peu, car mon disque dur principal, où les partitions / et /home sont placés, est un lecteur SSD.

Le programme d'installation d'Ubuntu (14.04) n'a pas spécifié l'option sync ni async pour / partition, mais avez défini async pour /home par l'option defaults. Voici mon /etc/fstab, J'ai ajouté quelques lignes supplémentaires (voir commentaire), mais je n'ai rien changé dans les lignes faites par l'installateur:

# / was on /dev/sda2 during installation
UUID=7e4f7654-3143-4fe7-8ced-445b0dc5b742 /     ext4  errors=remount-ro 0  1
# /home was on /dev/sda3 during installation
UUID=d29541fc-adfa-4637-936e-b5b9dbb0ba67 /home ext4  defaults          0  2
# swap was on /dev/sda4 during installation
UUID=f9b53b49-94bc-4d8c-918d-809c9cefe79f none  swap  sw                0  0

# here goes part written by me:

# /mnt/storage
UUID=4e04381d-8d01-4282-a56f-358ea299326e /mnt/storage ext4 defaults  0  2
# Windows C: /dev/sda1
UUID=2EF64975F6493DF9   /mnt/win_c    ntfs    auto,umask=0222,ro      0  0
# Windows D: /dev/sdb1
UUID=50C40C08C40BEED2   /mnt/win_d    ntfs    auto,umask=0222,ro      0  0

Donc, si mon /dev/sda est SSD, dois-je - pour réduire l'usure - ajouter l'option async pour / et /home systèmes de fichiers? Dois-je définir l'option sync ou async pour les partitions supplémentaires que j'ai définies dans mon /etc/fstab? Quelle est l'approche recommandée pour les disques SSD et HDD?

44
user77422

async est l'opposé de sync, qui est rarement utilisé. async est la valeur par défaut, vous n'avez pas besoin de le spécifier explicitement.

L'option sync signifie que toutes les modifications apportées au système de fichiers correspondant sont immédiatement vidées sur le disque; les opérations d'écriture respectives sont attendues. Pour les lecteurs mécaniques, cela signifie un énorme ralentissement, car le système doit déplacer les têtes de disque dans la bonne position; avec sync le processus userland doit attendre la fin de l'opération. En revanche, avec async, le système met en tampon l'opération d'écriture et optimise les écritures réelles; pendant ce temps, au lieu d'être bloqué, le processus dans l'espace utilisateur continue de s'exécuter. (En cas de problème, close() renvoie -1 avec errno = EIO.)

SSD: Je ne sais pas à quelle vitesse la mémoire SSD est comparée à RAM mémoire, mais ce n'est certainement pas plus rapide, donc sync est susceptible d'entraîner une baisse des performances, bien que pas aussi mauvais qu'avec les lecteurs de disques mécaniques. Au cours de la vie, la sagesse est toujours valable, car l'écriture sur un SSD la "fatigue" beaucoup. Le pire scénario serait un processus qui apporte beaucoup de changements au même endroit ; avec sync chacun d'eux atteint le SSD, tandis qu'avec async (par défaut) le SSD ne verra pas la plupart d'entre eux en raison de la mise en mémoire tampon du noyau.

En fin de compte, ne vous embêtez pas avec sync, il est fort probable que vous soyez bien avec async.

53
countermode

Attention: l'utilisation de l'option de montage `` async '' peut ne pas être la meilleure idée si vous avez une monture qui est constamment en cours d'écriture (par exemple, des journaux précieux, des enregistrements de caméras de sécurité, etc.) et que vous n'êtes pas protégé contre les pannes de courant soudaines . Il pourrait en résulter des enregistrements manquants ou des données incomplètes (inutiles). Exemple pas si intelligent: imaginez un voleur entrer dans un magasin et couper immédiatement le câble d'alimentation de la caméra. L'enregistrement vidéo du cambriolage a été enregistré mais n'a peut-être pas été vidé/synchronisé sur le disque car il (ou des parties de celui-ci) a peut-être été mis en mémoire tampon à la place, donc perdu lorsque la caméra a perdu l'alimentation.

7