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?
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
.
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.