Was ist das erwartete Time Machine-Verhalten für große Ordner mit wenigen geänderten Dateien?

Woher weiß Time Machine (auf einem High Sierra MacBook Pro mit APFS), welche Dateien in einem Ordner sich seit der letzten Sicherung geändert haben? Ich weiß, dass TM auf FSEvents angewiesen ist , um nach Verzeichnissen mit geänderten Dateien zu suchen. Was ich nicht weiß, ist, was TM tut, wenn es erfährt, dass sich 1+ Dateien in einem Ordner geändert haben. Ich suche nach einer detaillierten technischen Erklärung, nicht nach allgemeinen Informationen über Time Machine selbst. Speziell:

  • Welche Informationen zu jeder Datei (z. B. in einem Ordner mit 1 geänderten Dateien und 999 seit der letzten Sicherung unveränderten Dateien) verwendet TM, um festzustellen, welche Dateien mit der letzten gesicherten Version identisch sind? Betrachtet TM nur die Dateigröße und die Änderungszeit? Liest es tatsächlich Dateiinhalte? Liest es Dateiattribute?
  • Welche Dateisystem-API-Aufrufe verwendet Time Machine, um zu prüfen, welche Dateien sich geändert haben? Macht es speziell einen (oder eine kleine Anzahl) Aufrufe pro Ordner, zB um eine Verzeichnisliste abzurufen? Oder werden mehr als 1 Aufrufe pro Datei durchgeführt , um zusätzliche Informationen wie Dateiinhalte, Attribute usw. abzurufen?
  • Wenn die Antworten auf die obigen Fragen unterschiedlich sind (z. B. "manchmal macht TM XXX, manchmal YYY"), was sind dann die Gründe, warum TM viele Dateisystemaufrufe für jede unveränderte Datei in einem Ordner durchführen würde?

Ich frage, weil ich versuche, langsame inkrementelle Time Machine-Backups auf meinem MacBook Pro von Ende 2015 mit High Sierra zu diagnostizieren. Jede „stündliche“ Sicherung dauert mehr als 30 Minuten, obwohl die jedes Mal gesicherte Datenmenge unter 2 GB liegt.

Betrachtet man die Protokolle der Festplattenaktivität von Time Machine (mit sudo fs_usage -f filesys backupd), scheint der Übeltäter der Dateisystemzugriff auf unveränderte Nachrichten- und Anhangsdateien zu sein, die mit Outlook 2016 Mac verbunden sind.

Outlook erstellt 256 Ordner für Nachrichten und 256 Ordner für Anhänge und verteilt neue Nachrichten und Anhänge gleichmäßig auf diese Ordner. Zum Beispiel hat mein Outlook-Profil etwa 250.000 Nachrichten, von denen die meisten 1+ Anhänge haben. Jeder dieser 512 Ordner enthält ungefähr 1.000 Nachrichten. Ich erhalte ungefähr 500 neue Nachrichten pro Tag. Wenn also seit meiner letzten Sicherung ein Tag vergangen ist, enthält jeder dieser 512 Ordner 1-3 neue Dateien und ungefähr 1.000 unveränderte Dateien.

Wenn Sie sich die Dateisystemprotokolle ansehen, führt Time Machine viele Dateisystemaufrufe für jede Datei durch, obwohl sich nur ein paar hundert Dateien von über 500.000 Dateien in diesen Ordnern geändert haben. Der Dateisystemzugriff für jede unveränderte Datei ist schnell (~0,075 Sekunden im Beispielprotokollauszug unten), aber wenn Sie 0,075 Sekunden mit 500.000 Dateien multiplizieren, sind das über 10 Stunden! Time Machine führt mehrere Threads aus, sodass jede inkrementelle Sicherung nicht 10 Stunden dauert, sondern mehr als 30 Minuten für jede „stündliche“ Sicherung.

Das ist eine Menge Akkuverbrauch und Festplattenzugriff, um sich jede Stunde mehr als 500.000 Dateien anzusehen, die sich nicht geändert haben. Beachten Sie, dass 30+ Minuten die TM-Geschwindigkeit ist, nachdem ich verwendet habe sudo sysctl debug.lowpri_throttle_enabled=0. Ohne diese Änderung ist es noch langsamer.

Ich versuche, die Ursache des Problems herauszufinden:

  • Ist mein Computer so konfiguriert? Gibt es eine Änderung, die ich an meinen Dateien, Time Machine-Einstellungen usw. vornehmen kann, die dazu führen würde, dass TM nicht mehr so ​​viel Zeit damit verbringt, unveränderte Dateien bei jedem inkrementellen Backup zu untersuchen?
  • Ist das Problem grundlegend dafür, wie Outlook 2016 Mac Nachrichten und Anhangsdateien speichert, sodass jeder Mac-Benutzer von Outlook mit einem großen und aktiven Postfach dieses Problem haben wird? Macht Outlook beispielsweise etwas Ungewöhnliches mit Attributen, die dazu führen können, dass TM im Vergleich zu anderen Apps, die viele kleine Dateien erstellen, zusätzliche Zeit mit der Untersuchung der Outlook-Dateien verbringt?
  • Oder liegt die Ursache im Design von Time Machine, wo erwartet wird, dass TM relativ teure Dateisystemaufrufe für jede Datei durchführt, wenn sich Dateien in einem Ordner geändert haben, um zu überprüfen, welche Dateien sich geändert haben?

Hier ist ein Protokollbeispiel (für eine einzelne Datei, die seit der letzten Sicherung nicht geändert wurde), das darauf hindeutet, dass Time Machine für jede unveränderte Datei viel Dateisystemzugriff durchführt. Ich zähle 11 (!!!) Dateisystemzugriffe für diese eine 901-Byte-Datei, die bereits gesichert wurde und seit der letzten Sicherung unverändert ist.

09:14:19.783112  getattrlist                            .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.000027   backupd.944294
09:14:19.783424  fsctl                                  .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.000006   backupd.944294
09:14:19.783428  fsctl                                  .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.000004   backupd.944294
09:14:19.783542  getattrlist                            .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.000057   backupd.944294
09:14:19.783603  listxattr                              .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.000016   backupd.944294
09:14:19.783612  listxattr                              .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.000008   backupd.944294
09:14:19.805903  listxattr                              .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.022290   backupd.944294
09:14:19.806028  listxattr                              .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.000109   backupd.944294
09:14:19.856232    HFS_update               (__M__c__)  .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.000013   backupd.948297
09:14:19.856258  link                                   .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.050019   backupd.948297
09:14:19.856394  getattrlist                            .Office/Outlook/Outlook 15 Profiles/2018-05-11/Data/Message Attachments/137/8969C57E-7F6D-4152-AF11-FDF535486C92.olk15MsgAttachment    0.000051   backupd.948297

Ich weiß, dass ich Outlook-Ordner von Time Machine-Sicherungen ausschließen kann, aber ich zögere, dies zu tun, da es mich daran hindern könnte, Nachrichten wiederherzustellen.

Ich habe bereits versucht, die FSEvents-Protokolle (über sudo mv /.fseventsd /.fseventsd.bakeinen Neustart) zu löschen und neu zu erstellen, was die Sicherungen erheblich beschleunigte, sodass sie nur wenige Minuten dauern, wenn ich Outlook seit der letzten Sicherung nicht gestartet habe . Aber nachdem ich Outlook ausgeführt habe, dauern Backups mehr als 30 Minuten. Ich habe anhand von Protokollen überprüft, dass die zusätzliche Zeit nicht auf das Backup-Datenvolumen zurückzuführen ist - die 1,3-GB- Outlook.sqlliteDatei wird jedes Mal in 1-2 Minuten gesichert -, sondern anscheinend durch die 100.000 Dateien verursacht wird Time Machine sieht sich das an, sichert aber nicht.

Es ist weder ein Netzwerkproblem noch ein Geschwindigkeitsproblem meines Backup-NAS-Laufwerks: Wenn TM große Dateien sichert, sichert es 10-30 Megabyte pro Sekunde über WLAN (ich habe schnelles WLAN!). Auch die direkte Verbindung mit meinem Gigabit-Ethernet verbessert die Geschwindigkeit nicht, wenn TM all diese winzigen Outlook-Dateien durchwühlt.

AKTUALISIEREN:

Wie von Monomeeth in seiner Antwort unten empfohlen , habe ich Time Machine Mechanic heruntergeladen und ausgeführt (wirklich hilfreiches Tool!). Hier ist die Ausgabe der letzten 12 Stunden.

Analysis from 2018-05-23 19:38:58 +0000 to 2018-05-24 05:38:58 +0000 for 10 hours:
Backing up to /dev/disk2s2: /Volumes/Time Machine Backups/Backups.backupdb
on which there were 411.74 GB, 411.74 GB, 411.74 GB, 411.74 GB, 411.74 GB, 411.74 GB available.
Started 6 auto backups, and 0 manual backups; completed 7 backups successfully,
last backup completed successfully 7.0 minutes ago,
backed up a total of 16417 files, range 639 to 4666 in each backup,
total data for each backup was 2.09 GB, 2.1 GB, 1.89 GB, 1.58 GB, 1.66 GB, 1.59 GB, 1.54 GB.
Times taken for each auto backup were 93.8, 37.8, 29.8, 34.4, 35.4, 87.6 minutes,
intervals between the start of each auto backup were 140.5, 70.8, 63.4, 69.9, 65.9 minutes.
Created 0 new backups, and deleted 7 old backups,
cancelled 4 backups.
7 errors reported:
2018-05-23 13:27:42.967395-0700 Error: Error Domain=NSOSStatusErrorDomain Code=-50 "paramErr: error in user parameter list" deleting backup: /Volumes/Time Machine Backups/Backups.backupdb/Justin’s MacBook Pro/2018-05-23-113921.inProgress/B14EC326-8AE7-4C23-8F37-17BDEFCF9F1C
2018-05-23 20:33:49.535143-0700 Error: Error Domain=NSOSStatusErrorDomain Code=-36 "ioErr: I/O error (bummers)" deleting backup: /Volumes/Time Machine Backups/Backups.backupdb/Justin’s MacBook Pro/2018-05-21-163447
2018-05-23 20:33:49.536821-0700 Error: Error Domain=NSOSStatusErrorDomain Code=-50 "paramErr: error in user parameter list" deleting backup: /Volumes/Time Machine Backups/Backups.backupdb/Justin’s MacBook Pro/2018-05-22-193257
2018-05-23 20:33:49.536960-0700 Error: Error Domain=NSOSStatusErrorDomain Code=-50 "paramErr: error in user parameter list" deleting backup: /Volumes/Time Machine Backups/Backups.backupdb/Justin’s MacBook Pro/2018-05-22-183736
2018-05-23 20:33:49.537620-0700 Error: Error Domain=NSOSStatusErrorDomain Code=-50 "paramErr: error in user parameter list" deleting backup: /Volumes/Time Machine Backups/Backups.backupdb/Justin’s MacBook Pro/2018-05-22-150607
2018-05-23 20:33:49.537704-0700 Error: Error Domain=NSOSStatusErrorDomain Code=-50 "paramErr: error in user parameter list" deleting backup: /Volumes/Time Machine Backups/Backups.backupdb/Justin’s MacBook Pro/2018-05-22-134626
2018-05-23 20:33:49.539118-0700 Error: Error Domain=NSOSStatusErrorDomain Code=-50 "paramErr: error in user parameter list" deleting backup: /Volumes/Time Machine Backups/Backups.backupdb/Justin’s MacBook Pro/2018-05-22-120245

Beachten Sie, dass es keine tiefen Scans gibt und jede Sicherung mindestens 30 Minuten dauerte, um 1,5 bis 2 GB zu sichern. Die meiste Größe ist die einzelne Outlook.sqllite-Datei mit 1,3 GB, die laut den Dateisystemprotokollen in etwa 2 Minuten gesichert wird, was etwa 10 Megabyte/s ausmacht. Aber die meiste Zeit wird (wieder laut Dateisystemprotokollen) mit dem Lesen/Prüfen von 100.000 unveränderten Dateien verbracht.

Ist das normal? Es scheint unerwartet, dass TM weiß, welche Dateien sich geändert haben (über FSEvents), aber trotzdem jede Datei ansehen muss. Gibt es etwas Ungewöhnliches an den Dateien von Outlook, das dazu führt, dass es mit den Dateien von Outlook, aber nicht mit den Dateien anderer Anwendungen passiert? Könnte es sein, dass Outlook erweiterte Attribute verwendet (z. B. „Autor“- und „Empfänger“-Attribute für E-Mail-Nachrichtendateien) und diese Attribute die Verlangsamung verursachen?

Ich bin mir nicht sicher, was ich von den Fehlern halten soll, aber sie beziehen sich auf das Löschen von Backups. Vielleicht ist das ein Problem, das nichts mit meinen langsamen Backups zu tun hat?

Antworten (1)

KURZE ANTWORT

Ja, das ist das erwartete Verhalten.

Time Machine sichert nur neue oder geänderte Daten und protokolliert alle gelöschten Daten. Dazu gehören Bibliotheken, die Zehntausende von Dateien enthalten können (z. B. Ihre Fotobibliothek) und andere Speicherorte (z. B. Verzeichnisse/Ordner, die eine große Anzahl von Dateien enthalten (z. B. die von MS Outlook verwendeten). Es wird keine neue Sicherung durchgeführt jedes Mal, wenn Sie Änderungen daran vornehmen, eine ganze Bibliothek/einen ganzen Ordner, sichert aber nur die geänderten Elemente.Damit Time Machine dies ordnungsgemäß tun kann, muss es jedes Element überprüfen, um festzustellen, was sich seit der letzten Sicherung geändert hat.

LANGE ANTWORT

Time Machine funktioniert so, dass es alles sichert, was sich seit der letzten Sicherung geändert hat. Zum Beispiel eine Datei, die ist:

  • Seit der letzten Sicherung bearbeitete Dateien werden bei der nächsten Sicherung erneut gesichert
  • Seit der letzten Sicherung erstellt, wird in der nächsten Sicherung gesichert
  • Gelöscht seit der letzten Sicherung ist nicht in der nächsten Sicherung enthalten (d. h. es gibt keine Aufzeichnungen darüber in dieser Sicherung, aber die Datei selbst wird immer noch für alle älteren Sicherungen gespeichert, von denen sie ein Teil war).

Nun, die Verwirrung kommt normalerweise von der Art und Weise, wie Time Machine tatsächlich ein Backup durchführt. Ich werde versuchen, dies weiter unten zu erklären.

  1. Die erste Sicherung, die TM auf einem neuen Sicherungslaufwerk durchführt, ist eine vollständige Sicherung Ihres Mac. Wenn Ihr Mac also 80 GB eines 1-TB-Laufwerks verwendet hat, belegt das erste Backup 80 GB Speicherplatz auf dem neuen Backup-Laufwerk.
  2. Alle verbleibenden inkrementellen Sicherungen führen keine vollständige Sicherung durch. Stattdessen sichert TM alle neuen Daten (dh neu hinzugefügte Daten und alle bearbeiteten Daten ) und speichert alle gelöschten Daten .
  3. Im Fall von Dateien wie Paketen (z. B. dem Fotobibliothekspaket) identifiziert TM Folgendes:
    • neue Daten (z. B. neue Fotos im Ordner „Masters“ in Ihrem Fotobibliothekspaket) und sichern Sie diese
    • geänderte Daten in Ihrem Fotobibliothekspaket (z. B. bearbeitete Fotos) und sichern Sie diese
    • gelöschte Daten in Ihrem Fotobibliothekspaket (z. B. Fotos, die Sie gelöscht haben) und Aufzeichnungen über die Änderung führen
  4. Wenn der Speicherplatz auf dem Sicherungslaufwerk erschöpft ist, löscht TM so viele der ältesten Sicherungen, wie erforderlich sind, um die nächste Sicherung durchführen zu können (und hier können Benutzer Daten verlieren, die nicht Teil neuerer Sicherungen waren).
  5. Unabhängig davon, ob es sich um die anfängliche vollständige Sicherung oder eine inkrementelle Sicherung handelt, zeigt TM dies dem Benutzer an, als ob es sich um separate vollständige Sicherungen handelt. Dies wurde auf der Grundlage des User Experience (UX)-Designs entwickelt, damit Benutzer einfacher nach Daten suchen und diese finden können, und um den Benutzern zu versichern, dass alles vorhanden ist. Laut Apple:

Dieser gesamte Prozess soll sicherstellen, dass Time Machine nicht nur Ihre Daten sichert, sondern sich auch merkt, wie sie zu einem bestimmten Zeitpunkt aussahen, sodass Benutzer leichter finden können, wonach sie suchen. Laut Apple:

... was Time Machine von anderen Sicherungsanwendungen unterscheidet, ist, dass es nicht nur eine Ersatzkopie jeder Datei speichert, sondern sich auch merkt, wie Ihr System an einem bestimmten Tag aussah – sodass Sie Ihren Mac wieder so sehen können, wie er in der Vergangenheit aussah.

Quelle: Mac Basics: Time Machine (Webarchiv der Apple Knowledge Base-Dokumentation)

Also ja, das ist das erwartete Verhalten. Wenn Sie das Beispiel in Ihrer Frage verwenden, haben Sie, obwohl Sie 11 Instanzen zählen, alle zusammen einen Bruchteil einer Sekunde für die Verarbeitung von Time Machine benötigt, und aus meiner Sicht ist das die Ruhe und Benutzerfreundlichkeit dieser Zeit wert Maschinenangebote.

Kurz gesagt, ich würde nicht empfehlen, zu versuchen, sich daran zu stören.

[AKTUALISIEREN]

Diese Aktualisierung ersetzt nicht die oben genannten Informationen auf hoher Ebene, bietet jedoch weitere Klarheit aufgrund einer Überarbeitung der Frage des OP, die weiteren Kontext rund um die Frage bietet.

Wie Sie wissen, überprüft Time Machine die Dateisystemereignisdatenbank (FSEvents), die auf jedem Volume gespeichert ist, um festzustellen, welche Dateien sich seit der letzten Sicherung geändert haben.

Wenn jedoch die FSEvents-Datenbank fehlt oder wenn Time Machine feststellt, dass sie beschädigt oder unvollständig ist, führt sie einen gründlichen Scan durch. Wenn es einen tiefen Scan durchführt, bedeutet dies, dass es den Zeitstempel der letzten Änderung aller Dateien (und Verzeichnisse) auf dem relevanten Volume überprüft . Als Teil dieses tiefen Scans erstellt Time Machine eine Liste aller Elemente, die sich seit der letzten Sicherung geändert haben. Wenn Sie auf einem Remote-Gerät sichern (insbesondere wenn es über Wi-Fi erfolgt), verlangsamt dies natürlich die Dinge wirklich.

Sie könnten zwar die FSEvent-Aufzeichnung auf einem Volume deaktivieren, dies wird Ihnen jedoch nicht helfen, da Sie Time Machine zum Sichern Ihrer Daten verwenden möchten und diese Aktion es nur dazu zwingen würde, einen tiefen Scan durchzuführen.

Angesichts der zusätzlichen Informationen, die Sie bereitgestellt haben, müssen Sie zwei Dinge feststellen:

  1. Führt Time Machine bei jeder Sicherung einen Tiefenscan durch?
  2. Wenn ja, warum tut es das?

Um die erste Frage zu beantworten, können Sie Time Machine Mechanic (T2M2) herunterladen und installieren . Dadurch werden Ihre Protokolle analysiert, um zu überprüfen, ob Time Machine-Sicherungen normal ausgeführt werden oder nicht.

Das Wichtigste in Ihrem Fall ist zu prüfen, ob T2M2 Folgendes anzeigt:

started 1 deep traversal scans

completed 1 deep traversal scans

Wenn die Verwendung des obigen Tools anzeigt, dass Time Machine tatsächlich Tiefenscans durchführt, kann dies Anlass zur Sorge geben. Nicht so sehr, wenn es eine gelegentliche Sache ist, da dies sowieso nach bestimmten Ereignissen passieren kann (z. B. wenn es kürzlich von einem anderen Volume gebootet wurde, nach einer vollständigen Wiederherstellung, nach einem Stromausfall usw.), aber wenn es die ganze Zeit passiert, dann tut es das Alarmglocken läuten. In diesem Fall verweise ich Sie auf Time Machine - Troubleshooting Common Backup Messages .

Hallo @Monomeeth - danke für die Antwort, aber ich suchte eigentlich nach detaillierteren technischen Informationen darüber, wie Time Machine entscheidet, welche Dateien in einem Ordner geändert wurden. Ich habe meine Frage aktualisiert, um zu verdeutlichen, wonach ich suche. Das Problem, auf das ich stoße, ist nicht, dass TM zu viele Daten sichert, sondern dass TM zu viel Zeit braucht, um zu entscheiden, welche Dateien sich geändert haben. 0,075 Sekunden pro unveränderter Datei mal 500.000 unveränderte Dateien sind mehr als 10 Stunden. Selbst bei Multithreading sind das immer noch mehr als 30 Minuten für ein "stündliches" Backup ... und eine Menge verschwendeter Akku! Ich versuche herauszufinden, ob ich die Dinge beschleunigen kann.
@JustinGrant Es erstellt zuerst einen APFS-Snapshot und untersucht dann die Dateiattribute. Ich denke, es hat sich nie auf FSEvent verlassen.
@mspasov - Lustig, ich bin von einer anderen Backup-Lösung zu Time Machine gewechselt, speziell wegen einer anderen Ask Different-Antwort, die besagte: "Seit 10.7 (Lion) bietet macOS einen Mechanismus namens FSEvents, der es einer App ermöglicht, über Änderungen benachrichtigt zu werden, damit sie dies tun kann viel effizienter arbeiten. Time Machine verwendet FSEvents." apple.stackexchange.com/a/323718/61097 Ist Matts Antwort falsch? Oder funktioniert TM auf APFS nur anders (und verwendet Snapshots, nicht FSEvents) als TM auf dem alten Dateisystem?
Entschuldigung, ich habe Unrecht. TM verwendet die fseventd-Datenbank, um herauszufinden, was sich geändert hat, und scannt die Änderungen, falls die Datenbank nicht verfügbar ist (backupd verwendet jedoch keine Live-fsevent-Ereignisse vom fsevents-Gerät).
@JustinGrant Entschuldigung für die Verzögerung meiner Antwort – es hat länger gedauert als erwartet, einige meiner Nachrichten nachzuholen. Ich habe meine Antwort aktualisiert - lassen Sie mich wissen, wenn ich noch etwas hinzufügen kann.
@Monomeeth - keine Sorge, vielen Dank für die nützlichen Zusatzinformationen, insbesondere den Hinweis auf das Time Machine Mechanic-Tool. Ich habe dieses Tool ausgeführt und meine Antwort mit den Ergebnissen aktualisiert. Zusammenfassung: Keine tiefen Scans, nur langsame Backups und keine anderen Fehler als Probleme beim Löschen alter Backups (was meiner Meinung nach nichts mit der Langsamkeit zu tun hat). Haben Sie eine Idee, wo Sie als nächstes mit der Fehlersuche beginnen können?
Hm, ich muss zugeben, ich bin etwas überrascht. Die von Ihnen beschriebenen Symptome passen perfekt zu Time Machine, die tiefe Scans Ihres Volumes durchführt. Es wäre gut, einen direkten Vergleich mit Ihrem aktuellen Setup zu haben, also frage ich mich, ob Sie ein externes Laufwerk haben, das Sie direkt an Ihr MBP anschließen können, um es einen Tag lang mit TM zu verwenden? Wenn dies der Fall ist, dauert die erste Sicherung lange, aber die nachfolgenden Sicherungen interessieren mich. Ein weiterer einfacher Test wäre, MS Outlook vor den nächsten Sicherungen zu beenden, um festzustellen, ob dies ein Problem mit dem TM-Prozess verursacht. Lass es mich so oder so wissen.
@Monomeeth - Wenn ich Outlook beende, dauert die Sicherung nur wenige Minuten. Das Problem scheint auf diese 512 Outlook-Ordner mit jeweils 1-3 geänderten Dateien pro Tag beschränkt zu sein (oder zumindest mit ihnen am schlimmsten zu sein). Wenn in diesen Ordnern keine Änderungen vorgenommen werden, scannt TM nicht jede darin enthaltene Datei auf Änderungen. Es ist, als würde ein tiefer Scan durchgeführt, aber nur von Ordnern mit geänderten Dateien. Dies ist der Kern meiner Frage: Ist es normal, dass TM (einzeln) auf jede Datei in einem Ordner mit einer kleinen Anzahl geänderter Dateien und wesentlich mehr unveränderten Dateien zugreift? Wenn nicht, kann ich dann etwas tun, um dieses Verhalten zu verhindern?
@JustinGrant Hmm, es ist ein normales Verhalten für TM, aber nur , wenn es denkt, dass die FSEvents-Datenbank falsch ist. Die Symptome, die Sie beschreiben, scheinen wirklich zu diesem Szenario zu passen, außer dass es bei T2M2 den Anschein hat, dass TM keine tiefen Scans durchführt. Verwenden Sie es vielleicht erneut (ich glaube , es geht bis zu 48 Stunden zurück, also gehen Sie vielleicht so weit zurück), um zu sehen, was es findet? Ich freue mich, dass Sie die Ergebnisse immer noch teilen, damit ich sie mir ansehen kann. Wenn Sie immer noch nichts finden und das Problem nur auftritt, wenn Outlook ausgeführt wird, könnten Sie vielleicht versuchen, die Outlook-Datenbank zu reparieren, nur für den Fall, dass dies einen Unterschied macht?
@Monomeeth - Das erneute Ausführen von T2M2 liefert im Wesentlichen identische Ergebnisse zu den Ergebnissen, die ich zuvor gepostet habe. Outlook hat in der Version 2016 keine „Datenbank reparieren“-Funktion mehr, siehe support.office.com/en-us/article/… . Auch die "Datenbank" (die sqllite-Datei) scheint nicht das Problem zu sein - es sind die einzelnen Nachrichten- und Anhangsdateien. Ich habe auch versucht, alle meine Zeitmaschinen-Backups zu löschen und von vorne zu beginnen - mit den gleichen Ergebnissen. Ich habe auch versucht, mein Outlook-Profil neu zu erstellen - mit den gleichen Ergebnissen. Irgendwelche anderen Ideen?
@Monomeeth - außerdem habe ich gerade vom Microsoft-Support zu diesem Problem gehört. Ihre Zusammenfassung: Es wird tatsächlich erwartet, dass Time Machine alle Dateien in einem Ordner mit 1+ geänderten Dateien überprüft. Das ist wirklich überraschend. Sagt FSEvents TM nicht, welche Dateien sich geändert haben? Oder, wie der Microsoft-Supporttechniker sagt, lässt die Verwendung von FSEvents durch TM nur wissen, welche Verzeichnisse sich geändert haben, aber gibt es keine effiziente Möglichkeit, festzustellen, welche Dateien sich geändert haben?
Hier ist genau das, was der Outlook-Supporttechniker gesagt hat: „TimeMachine überprüft Änderungen für einen Ordner, aufgrund der Outlook-Profilstruktur haben wir viele Ordner mit getrennten für E-Mails, Anhänge, und wenn die E-Mail mit einem Anhang ankommt, ändert sie ein paar Ordner und TimeMachine scannt nach Änderungen und allen darin enthaltenen Dateien (Nachrichten, Nachrichtenquellen, Nachrichtenanhänge). Es ist etwas, worüber Outlook keine Kontrolle hat, und so funktioniert TimeMachine, wir speichern die Daten einfach auf der Festplatte.“
@Monomeeth - Aha! Ich glaube, ich habe herausgefunden, was los ist. Ich habe ein Testverzeichnis mit 10.000 Dateien erstellt, eine Sicherung ausgeführt, eine Datei geändert und eine Sicherung ausgeführt, während ich Dateisystemprotokolle aufzeichnete. TM erledigte tatsächlich Dateisystemarbeiten für jede unveränderte Datei im Verzeichnis. Aber die Dateisystemaufrufe fanden auf dem Backup- Laufwerk statt. Das fs_usageTool hat selbst mit der -wOption den vorderen Teil des Pfads abgeschnitten, wodurch es unmöglich war zu erkennen, ob es sich um mein Laptop-Laufwerk oder das Remote-Backup-Laufwerk handelte, das gelesen und beschrieben wurde. (Fortsetzung unten)
Wie auch immer, wenn ein Verzeichnis unverändert bleibt, erstellt TM einen Ordner auf dem Sicherungslaufwerk mit einem festen Link zum zuvor gesicherten Verzeichnis. Aber wenn ein Ordner Änderungen aufweist, muss TM ein neues Verzeichnis erstellen und es mit festen Links zu jeder Datei im Ordner füllen. Wenn es 100.000 unveränderte Dateien in Ordnern mit Änderungen gibt, nimmt das Erstellen all dieser Links viel Zeit in Anspruch. Zusammenfassung: Das Verhalten von TM ist in diesem Fall leider zu erwarten. ;-( Vielen Dank für all Ihre Hilfe bei der Untersuchung dieses Problems!
Kein Problem. Und vielen Dank für das Teilen Ihrer Erkenntnisse! Dies ist sowohl interessant als auch nützlich zu wissen. :)