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

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

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

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

遅いというのは、だいたい、1分に数MBytes単位しか進まないぐらいです。

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

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

 

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

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

virus除去ソフトの除外設定をする

Virus除去ソフトが関係する場合は、それを一時的に終了、無効にしたり、バックアップ先(/Volumes/バックアップ用メディア)を除外指定してみます。

TimeMachineは世代があるので、持っている世代の全てでチェックが走るため、スキャン時間は莫大になります。もちろん、バックアップ先にも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 off /

全部を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

これでだいたいは上手く行くはずです。