mds und mds_stores verbrauchen ständig CPU

mds und mds_stores sind ständige CPU-Verbraucher, auch wenn ich denke, dass sich auf der Festplatte nichts hätte ändern sollen.

Aktivitätsmonitor:

Aktivitätsmonitor

Ich habe ein Macbook Pro aus dem Jahr 2009, auf dem im Laufe der Jahre viel Software installiert wurde. Dropbox und Crashplan sind neben vielen anderen aktive Hintergrundprozesse.

Ich habe viele Orte in die Datenschutzeinstellungen von Spotlight aufgenommen, um sie aus dem Index auszuschließen:

  • USB Laufwerk
  • Crashplan-Ordner
  • /Library/Caches
  • /Users/me/Library/Caches

Dennoch sind mds und mds_stores konstante CPU-Verbraucher, die jeweils um die 10-12 % liegen. Mein Lüfter läuft wegen der Hitze weiter.

Habt ihr eine Idee woran es liegen könnte und wie ich es beheben kann?

Antworten (15)

Wie Sie wissen, sind mds und mds_stores Spotlight-Aktivitäten.

Der Grund, warum Ihr Spotlight so aktiv ist, könnte eine Reihe von Dingen haben; Es könnte sein, dass Sie eine App oder mehrere Apps haben, die ständig einige Ordnerinhalte ändern.

Lassen Sie uns zunächst prüfen, ob Spotlight die Ursache dafür ist, dass die Lüfter so stark laufen. Um dies zu testen, führen Sie Folgendes in Ihrem Terminal aus:

sudo mdutil -a -i off

dies schaltet die Indizierung von Dateien aus und sollte zu einer deutlichen Verlangsamung der Lüfter führen, wenn mdsund/oder mds_storesdaran schuld sind.

Führen Sie aus, um die Indizierung wieder zu aktivieren

sudo mdutil -a -i on

Danach können Sie die komplette Neuindizierung Ihrer Festplatte durchführen (beachten Sie, dass dies ein Job über Nacht sein kann), es wird Ihre Spotlight-Datenbank löschen und einen Neustart erzwingen.

sudo rm -rf /System/Volumes/Data/.Spotlight-V100/*

Der nächste und letzte Schritt wäre, andere zu Ihren Datenschutzeinstellungen hinzuzufügen (nicht scannen).

Ich frage mich, warum Apple dieses Problem nicht angemessen angeht. Eine CPU-Auslastung von über 100 % sollte kein Verhalten guter Software sein. Mein MBP ist bereits überhitzt. :(
Das ist sehr hilfreich
Ich denke, auf meinem macOS 12.5.1 (Monterey) ist dieses Verzeichnis/System/Volumes/Data/.Spotlight-V100
Ich bekomme folgende Meldung:2022-09-12 02:34:02.846 mdutil[5124:80955] Volume / is transitioning, waiting 5 seconds (try 2 of 15)
@iamcrypticcoder alles, was "über 100%" auf Unix-ähnlichen Systemen bedeutet, ist, dass insgesamt mehr als 1 CPU-Kern verwendet wird. Gute Software sollte diese Grenze bei Bedarf unbedingt überschreiten. Zum Beispiel verwendet FFMPEG beim Codieren eines Videos etwa 800 % der CPU auf meinem Quadcore-/Hyperthreading-Rechner, und das ist eine gute Sache.

Es ist am besten, Verzeichnisse mit hohem Volumen zu finden und sie von der Indizierung auszuschließen, indem Sie Spotlight->Datenschutzeinstellungen verwenden.

  1. Im Terminalaufruf fs_usagezum Auflisten von Dateien, die von mds_stores indiziert werden

    ~ sudo fs_usage -w -f filesys mds_stores

    0.000227 W Google Chrome He.789992
    12:13:46.660891    WrData[S]       D=0x03a7d92b  B=0x1000   /dev/disk1s1  /Users/XXX/Library/Caches/Google/Chrome/Default/Cache/73f8ce7b565cc7be_0                                                                        0.000297 W Google Chrome He.789992
    
  2. Fügen Sie diese Verzeichnisse zur Ausschlussliste in Systemeinstellungen → Spotlight → Datenschutz hinzu
Danke, es war wirklich nützlich! Aber auf meinem System (High Sierra) musste ich durch ersetzen mds_stores, mdsum eine nützliche Ausgabe zu erhalten.
Schön, dass es geholfen hat!
Wie fügen Sie Pfade unter Libraryzur Ausschlussliste hinzu? Sie können nicht nur den Pfad hinzufügen, Sie müssen ihn auswählen
Klicken Sie in jedem geöffneten Dialog auf cmd-shift-dot, um versteckte Dateien anzuzeigen, und die Bibliothek wird angezeigt
Es ist mir unklar, wie hilfreich das ist ... sollte ich einfach davon ausgehen, dass alles, was von diesem Befehl häufig ausgegeben wird, etwas ist, das ich aus der Indizierung entfernen sollte? Wenn ja, übergeben Sie die Ergebnisse dieses Befehls an eine Textdatei und führen dann etwas cut, uniq -c, usw. aus? Bitte näher erläutern. Danke!
@MikeWilliamson Der Befehl gibt Dateien und Ordner aus, die häufig indiziert werden. Im Allgemeinen handelt es sich um Dateien (Cache- oder Quelldateien), die sich häufig ändern, aber Sie müssen nicht indiziert werden (dh über Spotlight zugänglich). Typischerweise gruppieren sie sich in bestimmten Verzeichnissen. Fügen Sie einfach die übergeordneten Verzeichnisse zu Ihrer Ausschlussliste hinzu.
Auf Catalina bekomme ich ktrace_start: Resource busybeim Laufen die Leitung in deiner Antwort
Update: Ein Neustart kann das mds-Problem beheben und mir auch erlauben, die Zeile auszuführen
Update 2: mds_stores wurde kurz nach dem Neustart wieder hochgefahren, daher besuche ich diesen Link, um zu erwägen, Spotlight zumindest vorübergehend zu deaktivieren: macmetric.com/fix-mds_stores-consuming-high-cpu-usage
@Phillip Spotlight hat einen Wert – für mich hilft es, seinen Anwendungsbereich so weit wie möglich einzugrenzen. Indizieren Sie nur die Verzeichnisse und Dateitypen, die Sie benötigen. beide können mit dem Privacy Pref Pane gesteuert werden. Und das Auffinden fehlerhafter Scans erfolgt mit dem oben geteilten cmd. (fs_usage)
@AnthonyMetzidis Es wurden mindestens Hunderte von Orten aufgelistet, von denen ich einige nicht einmal im Rampenlicht entdecken konnte (wie /dev/disk1, nehme ich an, versteckt) beim Ausführen von sudo fs_usage -w -f filesys mds_stores. Ich habe Spotlight noch nicht wieder aktiviert, konnte es aber trotzdem verwenden (was bereits indiziert wurde). Irgendwann werde ich es sicher wieder einschalten. Nebenbemerkung: Es ist möglicherweise nicht kausal, aber ich hatte gerade von der Anmeldung bei Windows (Bootcamp) gewechselt, als ich die CPU-Auslastung von mds_stores bemerkte. Ich habe das Bootcamp-Laufwerk hinzugefügt, um die Privatsphäre hervorzuheben, aber es hat mds_stores nicht verlangsamt.
Randbemerkung, falls für irgendjemanden hilfreich: Um versteckte Dateien/Ordner anzuzeigen: shift+ fn+ command+ gedrückt halten ., obwohl dies den Speicherort von /dev/disk1 nicht preisgegeben hat
@Phillip Dinge in /dev/sind keine echten Dateien, sondern "Geräte", auf die über das Dateihandle verwiesen wird. Das disk*sind Festplatten und Partitionen auf Festplatten (oder so ähnlich). Generell kann man mit shift+ cmd+ gim Finder auch Orte ansteuern, die zwar versteckt sind, aber scheinbar /devnicht mehr per Finder erreichbar sind. Ich glaube nicht, dass es dort wirklich etwas indiziert.
Ich habe den Ordner „Application Support“ meines Benutzers seit einiger Zeit in der Ausschlussliste, aber sudo fs_usage -w -f filesys mds_storeshäufig werden Dateien in diesem Ordner angezeigt. Bedeutet dies, dass Spotlight die Ausschlusseinstellung ignoriert?
Dies verbessert die Leistung, kann sich jedoch auf die Indizierung wie bei Mail auswirken.
Ich bin mir nicht sicher – es ist möglich, dass Spotlight immer noch Dateien testet, aber keine Inhalte indiziert
Ich habe das gleiche Verhalten gesehen

Wenn Sie Probleme haben, wenn Sie eine externe Festplatte montieren. Überprüfen Sie diesen Artikel

Verhindern Sie, dass Spotlight externe Laufwerke indiziert

In meinem Fall habe ich es gelöst, indem ich eine .metadata_never_indexDatei im Stammpfad der externen Festplatte erstellt habe.

$ touch /Volumes/ExternalHard/.metadata_never_index

Hoffe es hilft jemandem.

Nur um der richtigen Antwort von @Buscar noch einen kleinen Tipp hinzuzufügen: In meinem Fall wurde mir klar, dass Spotlight tatsächlich Time Machine-Backups indizierte (was von vornherein wirklich eine dumme Sache ist). Für mich erklärt das in erster Linie die konstante CPU - TimeMachine erstellt ein stündliches Backup, Spotlight versucht es zu indizieren ... Nach dem Stoppen des Indizierungsdienstes und dem Entfernen vorhandener Indizes wie oben angegeben und vor dem Neustart der Indizierung habe ich auch die TimeMachine-Volumes ausgeschlossen (öffnen Sie den Finder, gehen Sie zu --> gehen Sie zum Ordner --> /Volumes und ziehen Sie dann das TimeMachine-Volume in die Ausschlussliste von Spotlight). Daumen drücken.

Funktioniert bei mir nicht unter MacOS 10.15.3. Ich erhalte die Meldung „Volumename“ ist ein Time Machine-Sicherungsordner. Sie können ihn nicht zur Datenschutzliste hinzufügen.
Ja, wie werden Sie das unter OSX 11.4 zum Laufen bringen?
TIL (von support.apple.com/en-gb/guide/mac-help/mchlp2811/mac ): „Wenn Sie eine Time Machine-Sicherungsfestplatte ausschließen, erhalten Sie weiterhin Meldungen, dass Spotlight sie indiziert. Diese Indizierung ist notwendig Time Machine ordnungsgemäß funktioniert und kann nicht deaktiviert werden. Spotlight schließt auf der Sicherungsfestplatte gespeicherte Elemente, die nicht Teil einer Time Machine-Sicherung sind, von Suchvorgängen aus."

Ich habe das gleiche Problem und hätte mir fast einen neuen Mac gekauft. Ich habe alle Sachen im Netz über mds_stores usw. überprüft ... Alles, was ich bekam, war Terminalprogrammierung und saubere Installationslösungen ... ohne Garantien, das Problem zu beheben.

Also habe ich mein kostenlos herunterladbares Reinigungs- und Wartungstool "Onyx" überprüft und in der Navigationsleiste unter Wartung können Sie "Spotlight Rebuild" aktivieren (standardmäßig deaktiviert).

Danach hatte ich keine Probleme und die Geschwindigkeit war normal. Außerdem bleibt der Aktivitätsmonitor innerhalb der normalen Parameter. Ich hoffe es bleibt so und funktioniert. Denn es ist ein einfacher und kostenloser Tipp für nicht-technische Mac-Benutzer.

Habe das vor einer Stunde herausgefunden, sieht aber vielversprechend aus. Viel Glück

Wie in anderen Antworten erwähnt, ist die Spotlight-Indizierung wahrscheinlich die Ursache für dieses Problem. Wenn Sie Ordner oder Laufwerke von der Indizierung über die Benutzeroberfläche ausschließen möchten (ab macOS 10.15 Catalina), können Sie diese in den Systemeinstellungen -> Spotlight -> Datenschutz hinzufügen

Dialogfeld „Systemeinstellungen“.

Spotlight-Datenschutzdialog

Ich hatte das gleiche Problem. Ich ging in die Systemeinstellungen für Sicherheit und Datenschutz , nur um zu sehen, was Spotlight enthielt. Ich habe eine Sache abgehakt und dann wieder angemacht und es hat sofort aufgehört. Meine verbrauchte fast 100 % CPU-Leistung und meine Lüfter liefen ununterbrochen. Es hörte alles auf, nachdem ich das getan hatte, und ich habe keine Ahnung warum. Ich habe ein MacBook Pro Mitte 2012.

Die Liste der eingeschlossenen/ausgeschlossenen Ordner befindet sich jetzt in einem eigenen Abschnitt „Spotlight“ unter den Systemeinstellungen. Ich habe einige Screenshots in meiner Antwort apple.stackexchange.com/a/396680/131916 hinzugefügt

Das hat mich wahnsinnig gemacht, der Task-Manager zeichnete Lesevorgänge mit 50-500 MB/s auf, während der Computer im Leerlauf war, und ich habe es auf MDS eingegrenzt.

tldr; Zusammenfassende Schritte:

  1. Fügen Sie alle Ordner (einschließlich versteckter) unter Macintosh HD zum Spotlight-Ausschluss hinzu.
  2. Entfernen Sie den Anwendungs- und Benutzerordner und alles andere, was Sie brauchen.

Hier waren meine Schritte, um dies als Problem zu diagnostizieren:

  1. Öffnen Sie den Aktivitätsmonitor im stabilen Zustand, sehen Sie massive Lesevorgänge/Sek. Stellen Sie sicher, dass MDS die meisten Bytes gelesen/geschrieben hat.
  2. Öffnen Sie Spotlight in den Einstellungen
  3. Ziehen Sie "Macintosh HD" auf Ausschlüsse
  4. Starte den Computer neu
  5. Öffnen Sie den Aktivitätsmonitor
  6. Warten Sie auf den stationären Zustand, siehe Lesen/Sek. bis auf <100 kb (woohoo!).

Jetzt der knifflige Teil – muss herausfinden, was in „Macintosh Hd“ das Problem verursacht und ausschließen.

  1. Öffnen Sie die Spotlight-Einstellungen erneut
  2. Bereinigen Sie alle Ausschlüsse, die bei dem Versuch, dies herauszufinden, Lärm waren, und lassen Sie einfach Macintosh HD und alle anderen, die Sie kennen, möglicherweise Unruhestifter. Für mich habe ich gelassen: Shared, System, Unreal Engine, VirtualBox VMs
  3. Klicken Sie auf „+“, um einen Ausschluss hinzuzufügen, und gehen Sie zu Macintosh HD.
  4. WICHTIG: Geben Sie cmd+Shift+ ein. um versteckte Ordner anzuzeigen, von denen es viele geben sollte.
  5. Wählen Sie alle (cmd+a) und dann "Okay". Könnte ein paar Fehler bekommen, was in Ordnung zu sein scheint.
  6. Warten Sie auf den stationären Zustand und überprüfen Sie die Lesezeiten von <100 kb/s erneut.
  7. Entfernen Sie "Macintosh HD" aus der Liste mit der Schaltfläche (-).
  8. Warten Sie erneut auf den stationären Zustand und <100 kb Lesevorgänge/Sek. Dies dauerte auf meinem Computer ca. 2 Minuten, vermutlich, weil er einige der Ordner indiziert, die aufgrund der Fehler nicht in die Ausschlussliste aufgenommen wurden. Drücken Sie cmd+Leertaste, um Spotlight zu öffnen, und geben Sie einen Text wie „a“ ein. Beachten Sie, dass Spotlight direkt unter der Suchleiste einen Fortschrittsbalken hat, der anzeigt, dass es indiziert, obwohl es nur <100 kb/s gelesen wird (nicht konsistent, es dauert manchmal 5 Minuten, bis es angezeigt wird, selbst nachdem es gestartet wurde). Ich bin mir nicht sicher, was hier vor sich geht, vielleicht ein Haufen sehr kleiner Dateien, aber so oder so warten Sie, bis es fertig ist. Sobald Sie fertig sind, sollte es fast 0 Lesevorgänge/Sek. erreichen.
  9. Entfernen Sie hinzugefügte Ordner einen nach dem anderen und wiederholen Sie den Vorgang des Wartens, bis sowohl der Fortschrittsbalken als auch die Lesevorgänge/Sek. der Festplatte auf Null gehen. Meine Entfernungen in der Reihenfolge waren: Anwendungen, Benutzer, Volumes, .vol, bin usw., Kerne, tmp, Unreal Engine, VirtualBox, opt, Shared, sbin usw. Es dauerte ungefähr eine Stunde pro hinzugefügtem Ordner, um wieder auf <100 kb/s zu lesen. Genießen!

Ich verwende Apple M1 und habe keine externe Festplatte angeschlossen. Ich habe einen Ordner auf dem Desktop, der alle meine NodeJS-Projekte enthält. Da es sich um ein Arbeitsverzeichnis handelt und viele Dateien und Ordner ständig hinzugefügt/entfernt werden, habe ich es in die Liste aufgenommen, um zu verhindern, dass Spotlight es durchsucht:

Spotlight >> Datenschutz >> Verhindern Sie, dass Spotlight diese Orte durchsucht

Geben Sie hier die Bildbeschreibung ein

Viel Glück...

FYI: Während dies verhindert, dass Dateien aus diesen Verzeichnissen in den Spotlight-Ergebnissen erscheinen, hindert es mds_stores leider nicht daran, die Verzeichnisse zu scannen. Sie können dies selbst überprüfen, indem Sie der Registerkarte „Datenschutz“ ein Verzeichnis hinzufügen und dann im Terminal oder Finder Dateien kopieren, während Sie „sudo fs_usage -w -f filesys mds_stores“ ausführen (wie in der Antwort von AnthonyMetzidis) – Sie werden Aktivitäten sehen. Ich erwähne dies nur, weil diese Tatsache in den Antworten auf die Antwort ein wenig vergraben ist.

Nachdem er alles ausprobiert hatte, was es im Web und in den Foren gab, und nichts funktionierte, machte ein kluger Kerl (Lincoln Adams) im Apple-Forum mit dem gleichen Problem eine überwältigende Entdeckung: In seinem Fall (und meinem, und vielleicht Ihrem) – das wurde durch die Pinterest-Schaltfläche/Erweiterung in Firefox verursacht. Versuchen Sie, Firefox zu schließen, neu zu starten und eine Zeit lang einen anderen Browser zu verwenden. Der Thread in den Apple-Foren

Wenn beim Ausführen des Befehls sudo mdutil -a -i off herausgefunden wird, dass Spotlight versucht, ein über USB angeschlossenes Laufwerk mit einem Terabyte zu indizieren. Ich habe es getrennt und den Computer neu gestartet.

Ich hatte dieses Problem und es blieb auch nach dem Deaktivieren der Spotlight-Suche bestehen. Obwohl ich die oben erwähnte Pinterest-Erweiterung nicht habe, habe ich festgestellt, dass das Schließen von Firefox das Problem gelöst hat.

Wenn Sie Spotlight schließen, indem Sie außerhalb klicken, bleibt der Text, den Sie in das Textfeld eingegeben haben, erhalten. Das Löschen des Textes beruhigte den Prozess. EscMein Rat ist, zweimal zu klicken/tippen , wenn Sie mit Spotlight fertig sind. Der erste Klick löscht das Textfeld, der zweite schließt Spotlight.

Soweit ich weiß, ist diese Zahl keine 100%-basierte Nutzung, dh dass 11,9 und 9,6 nicht bedeuten, dass sie 11,9 % und 9,6 % der gesamten CPU-Rechenleistung verbrauchen.

Bei einer Dual-Core-CPU bedeutet 10 in dieser Spalte, dass nur 10 % eines Kerns verbraucht wurden, dh 5 % der gesamten CPU.

Für eine 8-Kern-CPU sollte die für einen Prozess angezeigte Zahl bei 100%iger Nutzung der gesamten CPU also 800, aber nicht 100 sein.

Ich nehme an, Ihr Mac ist eine Dual-Core-CPU, 11,9 und 9,6 insgesamt kosten nicht so viel, wie Sie dachten.

Es sollte genauso topfunktionieren wie der Befehl unter Linux

Sie sagten: "Ich habe viele Standorte in die Datenschutzeinstellungen von Spotlight aufgenommen."
Sie müssen WENIGER Standorte angeben, nicht mehr. Wenn Sie mehr hinzufügen, bedeutet das, dass Spotlight sehr damit beschäftigt ist, sich alle anzusehen.
Sie können ganz einfach zu Systemeinstellungen/Spotlight gehen, um viele Standorte abzuwählen. Deaktivieren Sie insbesondere Mail, Suchmaschinen und andere internetabhängige Optionen.
Herunterfahren und neu starten, nachdem Sie Ihre Spotlight-Einstellungen geändert haben.

Sie irren sich, tatsächlich haben Sie es verkehrt herum, sagt das Datenschutzfeld von Spotlight, und ich zitiere: „Verhindern Sie, dass Spotlight diese Orte durchsucht“, sodass Spotlight weniger Orte in der Privatsphäre hat, um tatsächlich BESCHÄFTIGTER zu bleiben. Wenn mehr Standorte im Bereich „Suchergebnisse“ deaktiviert sind, wird dies Ihren Angaben entsprechen, aber je mehr Sie im Bereich „Privatsphäre“ eingeben, desto weniger wird gesucht.
Ja, das ist eigentlich ein ziemlich schlechter Rat. Alles, was Sie nicht scannen möchten, sollte sich im Datenschutz befinden.
Es ist eigentlich eine Mischung. Ich verstehe seine Verwirrung. Auf der Search ResultsRegisterkarte müssen wir weniger Kategorien auswählen, die eingeschlossen werden sollen. Auf der PrivacyRegisterkarte müssen wir weitere für den Ausschluss hinzufügen.