Spotlight を止めずに mds_stores と外付けHDDへのアクセスを止めた


mds_stores とその関連プログラムが外付HDD に永遠とアクセスを続けていて、それを Spotlight の使用を止めずになんとかなったという話。

ある時、TimeMachine 用の外付けHDDのアクセスランプがずっと点滅しているのに気づきました。

バックアップを作成中というわけでも無いのに永遠終わりません。HDDにも良くないのでなんとか止めたい。

この記事が役に立つ可能性があるのは、mds_stores がアクセスしている対象が TimeMachine のディスクだという場合です。

関連記事⇨Macの動きがbirdとやらのせいで遅いのでなんとかした。iCloud Driveが原因っぽい。

mds_stores が原因か?

多分きっかけはLocal by flywheel がクラッシュして Mac が強制再起動した時から。

気づいてから4時間ぐらいは我慢してたんですが、さすがに気になり出していろいろ原因を探り始めます。

アクティビティーモニターを見ると mds とか mds_stores あたりが永遠動いているのがわかりました。

ディスクの読み込みを見てもこのプログラムが居座っているので、こいつらが外付けHDDにアクセスし続けているっぽい。

調べるとこのmds mds_stores が暴走してトラブルの原因になっているケースが多いみたい。

こいつのせいで、何もアプリを使用しなくてもcpu使用率が20%とか行ったりします。

私の場合はMacの使用に支障が出ている程ではなく、巷で言わるCPU使用率100%とか暴走とまでは行っていないんですけど。

mds_stores を止めるには spotlight の使用をやめる?

mds はspotlight に関連するプログラムだというのはすぐ分かったんですが、止めるには spotlight の使用をやめるしかなさそう。

別に spotlight を使用する機会はほぼ無いですが、offにしておくと偶に影響がでるアプリもあるらしくあまりやりたくない。

結果から言うと

で、色々やった結果から先に言いますと、

  • 私の場合、原因は “おそらく” TimeMachine のデータ。
  • 外付けHDDへの異常なアクセスは止まった
  • mds は 通常時はほとんど動かなくなった。
  • 代償として、TimeMachine のこれまでのバックアップを失った。
  • cpu使用率はシステム、ユーザーともに2%程度になった(購入当初と同じレベル!!

です。

*追記 あとで一旦症状が復活してしまいますが、それもなんとか止めることができました。最後に書いてます。

mds_stores が止まるまでの流れ

インデックス再構築が原因か?

いろいろ調べていくうちに、アプリのクラッシュをきっかけに spotlight のインデックスがおかしくなり、インデックスを再構築しているのではないかと疑いはじめました。

それであれば数時間経てばさすがに終わるはず。

しかし半日経っても終わらない。spotlightにも再構築の表示は出ていない。

ということはインデックス再構築をしているというわけではなさそう。

TimeMachineが原因っぽい?

外付けHDDですが、TimeMachine用とデータ保存用にパーテーションを切って使用してました。

データ保存用パーテーションには10GB程度しか入っていません。

となると、mdsはTimeMachineのデータにアクセスし続けているのだろうと見当がつきます。

(timemachineのディスクをspotlightの対象から外そうかと思いましたが、それは良くないらしいのでやめました。)

OS再インストールは避けたい

OS再インストールも検討しましたが、appleが提示している方法を読むとOSが強制的にBig SurからMontereyに変わるようにしか見えません。(使用中のバージョンの最新版がインストールされると記載されている箇所もありますが、再インストールしようとすると堂々と「新しくMontereyをインストール」と表示されてしまう。)

関連ページ→macOS を再インストールする方法(apple公式)

仕事で使用するので今OSバージョンアップによるトラブルを被るのは避けたい。

なのでOS再インストールは最終手段として、他に出来ることは無いか探りました。

外付けHDDを外すと mds_stores は止まる

外付けHDDを取り外すとmdsは止まりました。(M1 Mac 購入以来初めて取り外した)

ということは原因は外付けHDDそのもの、そして TimeMachine のデータと mds とで何かがおかしくなっているっぽい。

TimeMachine のバックアップデータを移そうとして失敗

幸い使っていないHDDがあったため、TimeMachine のデータをそちらへ移し、今まで使用していた外付けHDDをフォーマットして、新しく TimeMachine のバックアップを作成してみようかと考えました。

環境設定から TimeMachine を開き、新しくHDDを追加します。

この時、2台のHDDを TimeMachine として使用するか、新しく追加したHDDに全部移すか選択肢があります。

私は最初、「新しい方へ全部移す」を選択しました。

しかし私はバックアップ作成途中で中止して、2台使用するに変更してしまったんですねえ。

たぶんこれがいけなかったと思うんですけど、残ったのは最新のバックアップだけ。以前のバックアップは失ってしまいました。

実際、はじめから2台で使用するにしておけば失わなかったかどうかはわからないので何とも言えないところではあります。

ちなみにこの時点で旧HDDのアクセスランプ点滅は止まっています。つまり mds_stores は止まっていた。

外付けHDDをフォーマットして新たにバックアップ作成

ここから旧HDDをフォーマットします。

TimeMachine 設定で一旦この旧HDDを削除して、フォーマットした後にまた追加しました。

今回は最初から2台で使用するに設定。(でもすでに最新のバックアップしか残っていません…)

mds_stores も外付けHDDへの異常アクセスも止まった

最初のバックアップを作成している間は mds、mds_stores などガンガン動いていて、cpu 使用率も常時20%越えでしたが、終了するとHDDへのアクセスも止まり、mds が居座っている様子もなくなりました。

アイドリング状態でのcpu使用率もシステム、ユーザーともに2%以下となりました。

ちょっと操作するとすぐ上がりますが…

ああ…買ったばっかりの時こんなだったなあ。

バックアップを失ったことだけが悔やまれます。まあでも今のところ必要なさそうなので一安心。

結果的に

そもそも私は外付けHDDへの止まらないアクセスをなんとかしたかっただけで、mds_stores が暴走して操作に支障をきたしていたわけではありません。

同じ状況の人がそんなに多くいるとは思えませんが、そこでmds の存在に気づき、結果外付けHDDへの異常なアクセスは止まり、副産物としてCPU使用率を安定させることができました。

しかしながらこの記事、自分でも読みづらいと思います。

簡単に何をしたかと言うと、結果的に TimeMachine のバックアップを作り直しただけ、ということになります。

(*追記: 最後まで読んでいただくとわかりますが、これ実はあんまり意味なかったかもしれないし意味あったかもしれない。よくわからないというのが正直なところです。)

私は以前のバックアップを失ってますので、やる場合は自己責任でお願いします。

でも巷で言われる mds_stores の暴走がこれで解決できるかというと、違うだろうなと思います。ただ、TimeMachine のデータが原因になっていることは結構ありそうだなと思いました。

*追記 安心したのも束の間、Mac 再起動で mds_stores 復活

それから一日非常に快適に使えていましたが、訳あってMacを再起動しました。

するとTimeMachineとして設定したHDDのパスワードを求められ、入力するとまた断続的なアクセスが始まってしまいました。

アクティビティモニタを見るとやはり mds 関連が居座っています。

新しいバックアップに対するインデックスが始まったのかと思って、これも3〜4時間待ってみましたが終わりません。

この時点で TimeMachine として使用しているHDDは2台です。

この時、断続的アクセスがあるのは片方のHDDだけだと気づきます。

このHDDを使用解除してみる

このアクセスが止まらない方の TimeMachime パーテーションを初期化して、TimeMachine としての使用を止めてみました。どうせ1日分のバックアップしかない状態なので。

これで mds_stores 止まってくれないかなあと最後の望みだったのですが….

今度はもう片方のHDDへの断続的アクセスが始まってしまいました。これも終わる気配がない。

万事休す。この時点で一度アップしたこの記事を非公開にしています。記事が無駄になってしまった…

まさかまさかの

失意のどん底でどうしようもないので、なんとなく「TimeMachineに入る」で中身を見てみました。(なんで見たのかはわからない)

すると TimeMachine の初期画面は表示されるものの動かせない状態だと気づきます。
以前のバックアップへ遡れない感じです。

矢印のアイコンをクリックしたり、画面右のバーを操作してみたりしてみましたが動きません。

あれこれやっているうちにやっと動かせるようになりました。(一回 TimeMachine を閉じてもう一度入ったような記憶もあります)

するとどうでしょう。

HDDへのアクセスが止まっています。アクティビティモニターで見ても mds_stores が動いてません。

やったぜ!!

なんでかわからんけど。

再現するかチェック

これが偶然なのかどうか、もう片方のHDDでチェックしてみました。

  1. フォーマットして新しい TimeMachine 用ディスクとして登録
  2. バックアップ開始
  3. 初回バックアップ完了後の mds mds_stores の常駐なし(言い方がよくないかもしれない)、HDDへの断続的アクセスもなし
  4. Macを再起動
  5. mds mds_stores の常駐、HDDへの断続的アクセス確認 →再現
  6. 「TimeMachineに入る」。中身が操作できない。
  7. 少し待ってTimeMachineを閉じる
  8. もう一度「TimeMachineに入る」。中身が操作可能になっていることを確認
  9. 外付けHDDへの断続的アクセスが停止。mds mds_stores 停止 →再現

再現できました。

どういうことなのか

なぜなのかはよくわかりません。

「TimeMachineに入る」で最初操作できないのはやはりインデックスが終わっていないから?

mds_stores によるHDDへの断続的アクセスはやはりインデックスを再構築しているのか、もしそうだとしたらなぜ終わらないのか?

「TimeMachineに入る」で強制的にインデックスしている?

よくわかりません。

「TimeMachine に入る」がなんらかのトリガーになってるっぽいですが…

新しくバックアップを作成する必要はなかったかもしれません。

とりあえず、「TimeMachine に入る」で中身を確認していたら mds_stores 止まりました。

まあ…解決したので良しとします。

しかしながら先に言ったように、同じ状況の人がそんなにいるかはわかりませんし、巷で言われる mds の暴走がこれで解決するかは微妙です。

また再発することは十分有り得そうなので何かあったら追記していきます。

追記:再起動のたびに mds_stores は復活してしまうが

Mac を再起動するたびに mds_stores は復活してしまいますが、やはり TimeMachine に入って中身を操作できるようになると止まります。

バックアップ作成時など必要な時は普通にmds動きます。当たり前ですけど。

CleanMyMac X | Macを新品同様にクリーンアップ


おすすめ

コメントを残す

メールアドレスが公開されることはありません。