iMac (Ende 2015) mit Swap, wenn noch genügend RAM übrig ist

Der neue iMac meiner Frau verhält sich ziemlich seltsam. Obwohl es sich um eine ziemlich leistungsstarke Maschine handelt, ist sie ziemlich langsam und träge. Ich habe es mir angesehen und es scheint, dass ihr Auslagerungsspeicher voll ist, obwohl noch viel RAM übrig ist:

Screenshot der htop-Ausgabe

Aber mein Mac Pro sieht so aus:

Screenshot der htop-Ausgabe

Dies geschieht ständig, was dazu führt, dass die Maschine eine deutliche Minderleistung erbringt. Stimmt vielleicht etwas mit dem System nicht?

Antworten (2)

Dies ist alles anekdotisch, getestet mit einer Stichprobengröße von 2, zählt also kaum als Experiment ...

Starten Sie den Mac neu, es ist 12 Tage her.

Das wäre für eine Maschine mit viel RAM in Ordnung, aber es wird eine Maschine mit wenig RAM stärker treffen.
Ich würde sagen, die einfache Lösung wäre, den RAM zu verdoppeln.
Zwei der Maschinen hier sind immer eingeschaltet, die eine mit nur 10 GB RAM wurde nach nur wenigen Tagen langsamer [sie hat jetzt 26 GB und tut das nicht mehr], die eine mit 64 GB wird wirklich nie langsamer.

Ich denke, die verwendete Swap-Zahl wird übrigens nur beim Neustart zurückgesetzt. Ich bin mir nicht sicher, ob es unbedingt ein Indikator für die aktuelle Aktivität ist [aber ich bin sicherlich offen für Korrekturen]

Ich weiß nicht, welches Programm Sie verwendet haben, um die Ausgabe im Screenshot zu generieren, aber wenn Sie davon ausgehen, dass es die gewöhnlichen Zahlen ausgibt, wie zum Beispiel Activity Monitor oder top, würde dies ausreichen - der Grund für die scheinbar fehlerhafte Swap-Nutzung ist einfach ein zeitlicher Grund.

Stellen Sie sich vor, dass ein Prozess auf Ihrem Mac 12 GB RAM zuweist. Das System hat keine 12 GB freien RAM, also verschiebt es etwas zum Austauschen und gibt dem Prozess seine 12 GB RAM.

Etwas später gibt der Prozess die 12 GB RAM frei (dh hebt die Zuweisung auf). Das System verfügt jetzt über viel freien RAM, verwendet aber immer noch viel Auslagerungsspeicher.

Sie könnten argumentieren, dass das System alles vom Swap in den RAM verschieben sollte, aber dies ist langsam und "teuer" in Bezug auf die Systemressourcen. Das System kann nicht wissen, ob Sie zuerst die Sachen brauchen würden, die sich im Austausch befinden, oder ob Sie lieber freien RAM für etwas anderes haben möchten. Daher entscheidet es sich im Allgemeinen dafür, Dinge im Austausch zu halten und sie nur bei Bedarf in den Arbeitsspeicher zu verschieben.

Die Lösung für Ihr Problem besteht darin, über einen bestimmten Zeitraum (z. B. vom Booten) kontinuierlich zu überwachen, um herauszufinden, welcher Prozess tatsächlich für eine begrenzte Zeit viel RAM verwendet.