mds ram swap

wall < "Wenn mds abdreht…"

Broadcast message from spillerm@unixe.de (pts/1) (Mi Mai 21 21:37:26 2014):
4
Diesen Beitrag schrieb ich vor 5 Jahren. Behalte das beim Lesen bitte im Hinterkopf.

Eigentlich ist mein Mac kein schlechtes System, aber ja, er ist vergleichsweise schon wieder alt… und hat halt nur 8GB RAM. Normalerweise ist das mehr als ausreichend für meine Belange, aber in letzter Zeit war die Kiste echt im Kriechgang. Das äusserte sich dann etwa so: Passwort eingeben… einloggen… Viertelstunde warten, bis der dämliche bunte Ball sich wieder beruhigt hat.

Mit geeignetem Tool (htop, Activity Monitor,…) nach dem Bösewicht gefahndet, und siehe da: mds und mds_stores ballerten mir nicht nur das RAM zu, sondern swappten zusätzlich munter 13GB (!) durch die Gegend. Und das, wo Platten-I/O bei Apple bekanntermassen… okay, lassen wir das ;-)

Killt man die Prozesse, starten sie sich selbst wieder — soweit so gut. Allerdings löst das das Problem nicht, fummelt nur an Symptomen, denn nach kurzer Zeit ist der Speicherverbrauch wieder gigantisch. Was macht der Dienst überhaupt? Der mds indexiert die Platten — Spotlight und auch TimeMachine arbeiten damit. Und so konnte ich auf meinem System den Dienst davon überzeugen, sich brav zu verhalten:

  1. Disk Utility → Systemplatte auswählen → Repair Disk
  2. Disk Utility → Systempartition auswählen → Repair Disk Permissions

In manchen Fällen dürfte es schon damit erledigt sein, diese beiden Schritte auszuführen — okay, vor allem Repair Disk Permissions ist ja auch bekannt dafür, relativ viele Mac-Probleme zu lösen, warum auch immer… Bei mir reichte das allerdings noch nicht aus, ich musste im nächsten Schritt auch noch den Index neu aufbauen. Dies kann man über die Konsole veranlassen, der Aufruf sieht so aus:

$ sudo mdutil -avE

Das dauert dann eine ganze Weile, erbrachte für mich aber den entscheidenden Unterschied: die Kiste swappt überhaupt nicht mehr, und es ist endlich wieder hinreichend viel RAM frei, um sinnvoll arbeiten zu können — dauerhaft.

4