HOME / コンピュータTips / MacOSX / Time Machineが遅いときの対処方法

Date: 2019/01/03 |  このエントリーをはてなブックマークに追加  |  Tags: MacOSX

Time Machineが遅いときの対処方法

あまりにも極端に遅くなるので、まるでなにか別の根本的な問題がありそうに見えるのですが、単に「マシンが重いから」という理由であることが大半です。

遅いというのは、だいたい、1分に数MBytes単位しか進まないぐらいです。TimeMachieの設定でバックアップ済みのサイズが出ますが、これを目視で見ています。この速度だと、数百Gbytesクラスのストレージのバックアップが、到底、一晩、二晩でで終わらない速度になるのですが、下記のことを一式やることにより、1分にGBytes程度まで出るようになりました。これぐらいだと一晩でフルバックアップが終わりますよね。

TimeMachineを妨害している処理は、だいたい、Spotlightの検索インデックス、mds関連プロセスや、ウィルス除去ソフトがCPUとIO処理使いつくし、Time Machineの処理まで回っていない形です。

 

確認には、Activity Monitor.appを起動し、CPUタブで%CPUでソート、重いものを見つけます。だいたい下記が多いでしょう。

  • Virus除去ソフト
  • mds(Spotlight用のIndexer)
  • その他のバックアップツール

Virus除去ソフトが関係する場合は、それを一時的に終了したり、バックアップ先(/Volumes/バックアップ用メディア)を除外指定してみます。ただし、バックアップ先にもVirusがある可能性もあるので、無効のまま常用するのには、問題があるでしょう。

Spotlightの検索インデックス対象を停止する

SpotlightのIndexerであるmdsは、/Volumes/バックアップ先 を、Spotlight設定のプライバシー設定から除外設定をすること「も」できます。ただ、一度、TimeMachineのバックアップを開始すると無効にできないため、一度、バックアップ先のメディアを外してから、設定をし、追加するのもありです。

CLIで強制的に処理する方が的確な時もあります。

Spotlightの設定先の一覧をとる。

mdutil -sa

出力結果

/:
	Indexing enabled.
/Volumes/BOOTCAMP:
	Indexing disabled.
/Volumes/OSXRESERVED:
	Indexing enabled. 

対象(下記の例では/)を、Disableする。

sudo mdutil -i on /

全部をDisableする

sudo mdutil -a -i off

バックアップなどがおわったら、-i onにして戻すと良いでしょう。

TimeMachineのプロセスの優先度を上げる。

TimeMachineなどのバックグラウンドタスクは、処理の優先順位が下げられているので、これを一時的に上げるという方法もあります。

現在の設定は、次の様に見ることができます。

sysctl debug.lowpri_throttle_enabled

結果

debug.lowpri_throttle_enabled: 1

これはlow priority系コマンド(TimeMachineや恐らくmds)の優先順位を低下させる処理が、有効になっているということなので、結果的には、低下させる処理を無効にさせます。

sudo sysctl debug.lowpri_throttle_enabled=0

これらの処理は終わったら元の数字に戻しておくと良いでしょう。

sudo sysctl debug.lowpri_throttle_enabled=1