1
変更されたファイルがほとんどない大きなフォルダーでのTime Machineの動作はどうなりますか?
(APFSを搭載したHigh Sierra MacBook Proの)Time Machineは、最後のバックアップ以降にフォルダー内のどのファイルが変更されたかをどのように認識しますか?TMは、ファイルが変更されたディレクトリを監視するためにFSEventsに依存していることを知っています。私が知らないのは、フォルダ内の1個以上のファイルが変更されたことをTMが知ったときのTMの動作です。Time Machine自体に関する高レベルの情報ではなく、詳細な技術説明を探しています。具体的には: TMは、最後のバックアップバージョンと同じファイルを特定するために、各ファイルに関する情報(たとえば、1つの変更ファイルと999ファイルが最後のバックアップ以降変更されていないフォルダー内)を使用しますか?TMはファイルサイズと変更時間のみを参照しますか?実際にファイルの内容を読み取りますか?ファイル属性を読み取りますか? Time Machineは、どのファイルシステムAPI呼び出しを使用して、どのファイルが変更されたかを確認しますか?具体的には、フォルダーリストごとに1つ(または少数)の呼び出しを行いますか(ディレクトリ一覧を取得するなど)。または、ファイルの内容、属性などの追加情報を取得するために、ファイルごとに1回以上の呼び出しを行いますか? 上記の質問に対する回答が異なる場合(「TMがXXXを実行する場合があり、YYYを実行する」など)、TMがフォルダー内の変更されていない各ファイルに対して多くのファイルシステム呼び出しを行う理由は何ですか? High Sierraを実行している2015年後半のMacBook Proで遅いTime Machineの増分バックアップを診断しようとしているので、私は尋ねています。「毎時」のバックアップは、毎回バックアップされるデータ量が2GB未満であっても、30分以上かかります。 タイムマシンのディスクアクティビティのログ(を使用sudo fs_usage -f filesys backupd)を見ると、原因は、Outlook 2016 Macに関連付けられた未変更のメッセージファイルと添付ファイルのファイルシステムアクセスであるようです。 Outlookは、メッセージ用に256個のフォルダーと添付ファイル用に256個のフォルダーを作成し、これらのフォルダー間で新しいメッセージと添付ファイルを均等に配布します。たとえば、私のOutlookプロファイルには約25万のメッセージがあり、そのほとんどに1+の添付ファイルがあります。これらの512個のフォルダーにはそれぞれ、約1,000個のメッセージが含まれています。1日に約500件の新しいメッセージが届くため、最後のバックアップから1日が経過した場合、これらの512個のフォルダーにはそれぞれ1〜3個の新しいファイルと約1,000個の未変更のファイルがあります。 ファイルシステムログを見ると、Time Machineは各ファイルに対して多くのファイルシステムコールを行っていますが、これらのフォルダー内の500,000以上のファイルのうち数百のファイルのみが変更されています。変更されていない各ファイルのファイルシステムへのアクセスは高速です(以下のログの抜粋例では〜0.075秒)が、0.075秒に500Kファイルを掛けると、10時間以上かかります!Time Machineは複数のスレッドを実行するため、各増分バックアップは10時間かかりませんが、代わりに「毎時」バックアップごとに30分以上かかります。 1時間ごとに500,000以上のファイルを見るために、変更されていないバッテリー使用量とディスクアクセスが大量にあります。私が使用した後の 30分以上がTM速度であることに注意してくださいsudo sysctl debug.lowpri_throttle_enabled=0。この変更がなければ、さらに遅くなります。 私は問題の根本原因を解明しようとしています: コンピューターの構成はどうですか?ファイルやTime Machineの設定などに変更を加えることで、TMがすべての増分バックアップで変更されていないファイルの調査に時間を費やすのをやめることがありますか? 問題はOutlook 2016 Macがメッセージと添付ファイルを保存する方法の基本であるため、大きくアクティブなメールボックスを持つOutlookのすべてのMacユーザーはこの問題を抱えていますか?たとえば、Outlookは、TMが多くの小さなファイルを作成する他のアプリと比較してOutlookのファイルを調べるのに余分な時間を費やす原因となる属性を使用して異常なことをしますか? または、Time Machineの設計の根本的な原因は、フォルダ内のファイルが変更された場合、TMが各ファイルに対して比較的高価なファイルシステム呼び出しを行い、どのファイルが変更されたかを確認することです これは、Time Machineが変更されていない各ファイルに対して多くのファイルシステムアクセスを実行していることを示唆する(最後のバックアップ以降に変更されていない単一ファイルの)ログサンプルです。すでにバックアップされており、最後のバックアップ以降変更されていないこの901バイトのファイルに対して、11(!!!)のファイルシステムアクセスをカウントします。 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 …