Unter Linux verwende ich die noatime,nodiratime,nobarrier,data=writeback
Mount-Optionen, um /etc/fstab
die Sicherheit/Konsistenz/Integrität des Dateisystems gegen Geschwindigkeit einzutauschen, was für die lokale Entwicklung sinnvoll ist. Gibt es eine Möglichkeit, etwas Ähnliches zu tun oder auf andere Weise einen solchen Kompromiss für die anderen OS X-Entwickler in meinem Team einzugehen?
Gehen Sie mit dem Standarddateisystem auf einer OS X/macOS-Installation
Die Manpage für mount unter macOS listet nur zwei Optionen auf, die sich auf die Leistung von hfsplus beziehen:
- 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).
Es bleibt also nur die noatime
Option, das Standardverhalten weiter zu verbessern. Da es fstab
unter macOS keine gibt, müssen Sie Ihre Dateisysteme auf andere Weise (neu) einhängen.
Der beliebteste Suchmaschinen-Treffer, um eine automatische Wiedereinbindung zu erreichen, listet diese Methode auf:
Erstellen Sie eine Datei namens com.noatime.plist
in /Library/LaunchDaemons
. Wenn Sie nur eine SSD-Partition haben – von der Ihr Betriebssystem bootet – ist dies alles, was Sie brauchen.
<?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>
Legen Sie den Besitz der Datei mit dem Befehl fest
sudo chown root:wheel /Library/LaunchDaemons/com.noatime.plist
sudo chmod 644 /Library/LaunchDaemons/com.noatime.plist
Starten Sie das System neu bzw
sudo launchctl load -w /Library/LaunchDaemons/com.noatime.root.plist
Geben Sie zur Überprüfung den Befehl mount
an einer Terminal-Eingabeaufforderung ein. Sie sollten noatime
als Attribut Ihres Dateisystems aufgeführt werden.
Aber was bewirkt es? Nun, einfach ausgedrückt: Es führt diesen Befehl beim Booten aus (na ja, nach dem Booten, während der Ladesequenz für den Rest)
mount -vuwo noatime /
Ich nehme an, Sie haben eine Ahnung, was der mount
Befehl „ “ tut, aber sehen Sie sich die Optionen an:
-v
= ausführlich; eigentlich … das ist nicht unbedingt erforderlich, da es sich oben um einen kopflosen Befehl handelt; obwohl es vermutlich irgendwo im Systemprotokoll und im Fehlerfall auftauchen könnte
-u
das -u
Flag zeigt an, dass der Status eines bereits gemounteten Dateisystems geändert werden sollte. (Zu diesem Zeitpunkt in der Ladesequenz sind unsere Dateisysteme bereits gemountet)
-w
Mounten Sie das Dateisystem mit Lese- und Schreibzugriff - wahrscheinlich nicht zu 100% erforderlich)
-o
noatime (Legt die Option noatime fest)
Insgesamt mit alternativen Dateisystemoptionen arbeiten
Apple-Dateisysteme sind von Anfang an ziemlich schlecht und auch die Unterstützung für alternative Dateisysteme fehlt. Aber das bedeutet nicht, dass Sie keine Optionen mehr haben.
Fahrrad
Ross Patterson
mmmmmm
Ross Patterson