2 votes

Optimiser le système de fichiers pour privilégier la vitesse à l'intégrité

Sous Linux, j'utilise la fonction noatime,nodiratime,nobarrier,data=writeback les optioins de montage en /etc/fstab d'échanger la sécurité, la cohérence et l'intégrité du système de fichiers contre la vitesse, ce qui est logique pour le développement local. Existe-t-il un moyen de faire quelque chose de similaire ou de faire un tel compromis pour les autres développeurs OS X de mon équipe ?

3voto

LаngLаngС Points 7522

Utiliser le système de fichiers par défaut sur une installation OS X/MacOS

La page de manuel pour monture sur MacOS ne mentionne que deux options liées aux performances de hfsplus :

 - async         All I/O to the file system should be done asynchronously.
                 This can be somewhat dangerous with respect to losing
                 data when faced with system crashes and power outages.
                 This is also the default.  It can be avoided with the
                 noasync option. 

- noatime        Do not update the file access time when reading from a
                 file.  This option is useful on file systems where there
                 are large numbers of files and performance is more criti-
                 cal than updating the file access time (which is rarely
                 ever important).

Ainsi, seuls les noatime est laissée pour améliorer le comportement par défaut. Puisqu'il n'y a pas de fstab sous MacOS, vous devez (re)monter vos systèmes de fichiers d'une autre manière.

Les moteur de recherche le plus populaire pour obtenir un remontage automatique énumère cette méthode :

Créer un fichier appelé com.noatime.plist en /Library/LaunchDaemons . Si vous n'avez qu'une partition SSD - c'est là que votre système d'exploitation démarre - c'est tout ce dont vous avez besoin.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.noatime.root</string>
        <key>ProgramArguments</key>
        <array>
            <string>/sbin/mount</string>
            <string>-vuwo</string>
            <string>noatime</string>
            <string>/</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
</plist>

Définissez la propriété du fichier à l'aide de la commande

sudo chown root:wheel /Library/LaunchDaemons/com.noatime.plist
sudo chmod 644 /Library/LaunchDaemons/com.noatime.plist

Redémarrer le système ou

sudo launchctl load -w /Library/LaunchDaemons/com.noatime.root.plist

Pour vérifier, entrez la commande mount à l'invite du terminal. Vous devriez voir noatime répertorié comme un attribut de votre système de fichiers.

Mais que fait-il ? Eh bien, pour faire simple : il exécute cette commande au moment du démarrage (enfin, après le démarrage, pendant la séquence de chargement pour le reste)

mount -vuwo noatime /

Je suppose que vous avez une idée de ce qu'est la " mount "Mais regardez les options :

-v = verbose ; en fait ce n'est pas absolument nécessaire puisqu'il s'agit d'une commande sans tête ci-dessus ; bien qu'il soit probable que cela apparaisse dans le journal du système quelque part et en cas d'échec

-u les -u indique que l'état d'un système de fichiers déjà monté doit être modifié. (À ce stade de la séquence de chargement, nos systèmes de fichiers ont déjà été montés).

-w monter le système de fichiers en lecture-écriture - probablement pas nécessaire à 100%)

-o noatime (Définir l'option noatime)

Utiliser d'autres options de systèmes de fichiers

Les systèmes de fichiers d'Apple sont assez mauvais dès le départ et la prise en charge des systèmes de fichiers alternatifs fait également défaut. Mais cela ne signifie pas que vous n'avez pas d'autres options.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X