macOS: Daten in SWAP ausgelagert trotz freiem RAM?

CaptainPighead

Lieutenant
Registriert
Jan. 2024
Beiträge
536
Hallo zusammen,

ich nutze ein MacBook Pro mit relativ üppigem RAM (24GB). Weiss jemand, ab welchem Zeitpunkt genau Daten in den Swap Speicher (also in Nicht-RAM) ausgelagert werden? Ich dachte eigentlich immer, dass dies erst passiert, wenn der Arbeitsspeicher/RAM wirklich voll ist und keine Daten mehr in den RAM ausgelagert werden können.

Mir ist jetzt mit meinem Monitoring Tool was ich in der Taskbar nutze (iStat Menus) aufgefallen, dass, obwohl ich noch genügend freien RAM habe (10GB), trotzdem Daten in den SWAP Speicher ausgelagert wurden:

SCR-20250613-oozw.png


Ist das "normal" und in welchen Fällen passiert dies?
 
CaptainPighead schrieb:
Ist das "normal" und in welchen Fällen passiert dies?
Du willst nicht, dass erst geswappt wird, wenn es dringend nötig ist, weil du dann einen richtigen Hänger hättest. Deswegen swappen die meisten modernen Systeme früh Kram, der sowieso wenig bis gebraucht wird.
 
  • Gefällt mir
Reaktionen: TomH22, tidus1979, Makami und 4 andere
Alle Systeme pagen inzwischen! Das bedeutet, dass das System Speicherseiten schlafender Prozesse auslagert, um erst gar keinen Speichermangel entstehen zu lassen. Und da macht auch das auf BSD basierende MacOs keine Ausnahme.
 
  • Gefällt mir
Reaktionen: TomH22, tidus1979, Makami und 6 andere
Wie schon geschrieben wurde, ist das ganz normal. Hier mal ein Beispiel aus Linux:

1749826251037.png


Der Cache ist gerade ziemlich voll weil ich einige größere 3D Modelle gesliced hab, die noch nicht geflushed wurden.
 
  • Gefällt mir
Reaktionen: areiland, HtOW und CaptainPighead
areiland schrieb:
Alle Systeme pagen inzwischen!
Paging ist aber nicht zwangsläufig Swapping. Paging ist erstmal nur Teil des Konstrukts um virtuellen Speicher und ermöglichst Swapping.
 
Danke für die Infos! Wieder was dazugelernt. Das heisst: ich als User habe auf ein potentielles Swapping auch keinerlei Einfluss(möglichkeit): das händelt macOS in dem Fall selber. Auch wenn ich bewusst darauf achte, noch genügend RAM frei zu lassen und mit dem RAM "sparsam" wirtschafte, kann es sein, dass geswapped wird ... korrekt?
 
Zuletzt bearbeitet:
Korrekt. Aber mach dir da einfach mal keinen Kopf deswegen, das OS weiss schon was es tut, zumindest besser als der unbedarfte User...
 
  • Gefällt mir
Reaktionen: Firefly2023, areiland, Mickey Mouse und eine weitere Person
Alles klar - weiss ich bescheid, hatte mich nur gewundert. Passt. Danke für alle Rückmeldungen!
 
  • Gefällt mir
Reaktionen: Sykehouse
ganz ehrlich?
Für Leute, die solch "sinnlosen" Tools extra auf ihrem Mac installieren, sind die Macs und macOS "nicht gedacht".
WENN es Probleme gibt, dann guckt man in die Aktivitätsanzeige und gut ist.
einen Mac nutzt man um seine Arbeit zu erledigen und nicht um Probleme zu lösen, die man ohne den Computer gar nicht hätte ;)
 
  • Gefällt mir
Reaktionen: Firefly2023 und Joe Dalton
pseudopseudonym schrieb:
Paging ist erstmal nur Teil des Konstrukts um virtuellen Speicher und ermöglichst Swapping.
Das Paging soll verhindern, dass geswappt werden müsste, indem es den Speicher schon vorab entlastet. Dazu gehört auch der dynamisch organisierte Systemcache, der je nach Speicherauslastung zugunsten des Anwendungsspeichers verkleinert werden kann und auch so eine Entlastung des Speichers ermöglicht. Bevor das System überhaupt zum swappen greifen müsste, hat es also jede Menge anderer Möglichkeiten, bis hin zum rauswerfen ausgelagerter Prozesse aus der Auslagerung.
 
  • Gefällt mir
Reaktionen: CaptainPighead
@areiland Hab nochmal weiter recherchiert (die Vorlesungen dazu sind lange her), der Begriff Paging scheint tatsächlich auch für das Auslagern von Frames genommen zu werden.
Ich kenne das aus den OS-Vorlesungen vor allem in dem Zusammenhang, dass der RAM in Frames aufgeteilt wird, unter anderem für virtuelle Speicheradressen. Und die Seiten KÖNNEN dann eben auf HDDs und co ausgelagert werden.
 
  • Gefällt mir
Reaktionen: CaptainPighead
Standardwerk Andrew S. Tannenbaum: Modern Operating Systems (allgemein auch kurz nur: "MOS")
(ich habe das tatsächlich noch als "echtes" Buch, damals gab es noch kein Internet (wie wir es heute kennen) ;) )
 
  • Gefällt mir
Reaktionen: TomH22
CaptainPighead schrieb:
Das heisst: ich als User habe auf ein potentielles Swapping auch keinerlei Einfluss(möglichkeit): das händelt macOS in dem Fall selber. Auch wenn ich bewusst darauf achte, noch genügend RAM frei zu lassen und mit dem RAM "sparsam" wirtschafte, kann es sein, dass geswapped wird ... korrekt?
"Keinerlei" dürfte falsch sein: Ohne Swap wird nicht geswappt. ;)

Wenn du bei 24G immer genug Luft hast, schalte sie doch einfach ab, um unnütze Schreibzugriffe auf der SSD zu vermeiden.

Bei Linux kann man alternativ das Swappiness z. B. auf 10 reduzieren (noch weniger wäre mir zu aggressiv), damit erst spät ausgelagert wird, das wird es vermutlich auch bei Unix geben.

Ich nutze stattdessen zRAM (mit Swappiness 100, damit früher ausgelagert wird): Das reicht mir als Sicherheitsreserve. - Ob es das bei macOS auch gibt, weiß ich nicht.



Lt. der Opera-KI nein und die Swap lässt sich nur umständlich deaktivieren:
Andreas:
Gibt es bei macOS zRAM und wie aktiviert man es?
Aria:
Bei macOS gibt es zRAM nicht in der gleichen Form wie bei Linux. zRAM ist eine Technik, die in Linux verwendet wird, um komprimierten Speicher im RAM zu schaffen, um die Leistung zu verbessern. macOS verwendet jedoch eine andere Speicherverwaltung, die auf Swap-Dateien basiert.

Hier sind einige Punkte, die du beachten solltest:

Speicherverwaltung: macOS verwaltet den RAM und die Swap-Dateien automatisch. Es gibt keine native Möglichkeit, zRAM zu aktivieren.
Leistungsoptimierung: Du kannst die Leistung deines Macs verbessern, indem du die Aktivitätsanzeige verwendest, um den RAM-Verbrauch zu überwachen und gegebenenfalls nicht benötigte Anwendungen zu schließen.
Alternativen: Einige Benutzer haben versucht, ähnliche Effekte durch Anpassungen an den Swap-Einstellungen zu erzielen, aber dies erfordert tiefere Eingriffe ins System und ist nicht offiziell unterstützt.

Wenn du mehr über die Optimierung deines Macs erfahren möchtest oder spezifische Tipps benötigst, lass es mich wissen! 😊
Andreas:
Kann man die Swap deaktivieren und wenn ja: Wie?
Aria:
Ja, es ist möglich, den Swap-Speicher unter macOS zu deaktivieren, obwohl dies nicht offiziell unterstützt wird und einige Risiken birgt. Hier sind einige Schritte und Überlegungen, die du beachten solltest:

Schritte zum Deaktivieren des Swap-Speichers:

Mac ausschalten: Schalte deinen Mac aus.
Wiederherstellungsmodus aktivieren: Halte beim Einschalten die Power-Taste gedrückt, bis du den Wiederherstellungsmodus siehst.
Terminal öffnen: Wähle im Menü „Dienstprogramme“ die Option „Terminal“.
Befehl eingeben: Gib den Befehl ein, um den Swap zu deaktivieren. (Beachte, dass der genaue Befehl je nach macOS-Version variieren kann.)
Neustart: Starte deinen Mac neu, um die Änderungen zu übernehmen.

Wichtige Überlegungen:

Risiken: Das Deaktivieren des Swap-Speichers kann zu Instabilität führen, insbesondere wenn der RAM voll ist. Es wird empfohlen, dies nur zu tun, wenn du genau weißt, was du tust.
SSD-Schonung: Einige Benutzer möchten den Swap deaktivieren, um die Lebensdauer ihrer SSD zu verlängern, aber moderne SSDs sind in der Regel robust genug, um den Swap zu handhaben.
Alternativen: Statt den Swap zu deaktivieren, könntest du auch versuchen, den RAM durch das Schließen unnötiger Anwendungen zu optimieren.

Wenn du weitere Fragen hast oder mehr Details benötigst, lass es mich wissen! 😊
Also besser alles so lassen.
 
  • Gefällt mir
Reaktionen: BalthasarBux und CaptainPighead
pseudopseudonym schrieb:
Hab nochmal weiter recherchiert (die Vorlesungen dazu sind lange her), der Begriff Paging scheint tatsächlich auch für das Auslagern von Frames genommen zu werden.
Die Begriffe „Paging“ und „Swapping“ werden oft synonym verwendet.

Der Begriff „Swapping“ beschreibt erst mal nur, dass man RAM Inhalte auf den Sekundärspeicher auslagert, dieses Konzept wurde auch bei Systemen eingesetzt, die keine seitenbasierte sondern eine segmentbasierte virtuelle Speicherverwaltung besaßen. Neben 16 Bit Minicomputern war der 80286 Prozessor ein bekannter Vertreter dieses Konzeptes. OS/2 1.x und z.B. Xenix 286 (Unix Implementierung von Microsoft in den 80er Jahren) nutzen segmentbasiertes Swapping.

Mit den 32 Bit CPUs setzte sich die heutige seitenbasierte Speicherverwaltung durch. In diesem Zusammenhang entstand der Begriff „memory paging“. Laut Wikipedia ist damit das gesamte Konzept der seitenbasierten, virtuellen Speicherverwaltung gemeint. In diesem Zusammenhang gibt es auch den Begriff „demand Paging“ der besagt, dass Betriebsysteme in der Regel erst eine physische Speicherseite zuweisen, wenn auf einer virtuelle Adresse wirklich zugegriffen wird.

Oft wird aber mit dem Begriff Paging das seitenbasierte Swapping bezeichnet. Ich bin tatsächlich so alt, dass ich die 16 Bit Zeit noch erlebt habe, und damals war diese Lesart sehr verbreitet.

Bei Windows (seit NT) heißt das Swapfile übrigens pagefile.sys.
Ergänzung ()

Mickey Mouse schrieb:
WENN es Probleme gibt, dann guckt man in die Aktivitätsanzeige und gut ist.
Die zeigt dann übrigens auch die „Memory pressure“ an, indem der belegte Speicher von grün auf über gelb auf rot wechselt. Nach meiner Erfahrung ist gelb aber auch in der Regel noch unkritisch.
 
  • Gefällt mir
Reaktionen: CaptainPighead und Web-Schecki
TomH22 schrieb:
Ich bin tatsächlich so alt, dass ich die 16 Bit Zeit noch erlebt habe, und damals war diese Lesart sehr verbreitet.
Ich auch! Richtiges Swapping bei Speichermangel hab ich sogar am eigenen Leib erleben dürfen.
 
  • Gefällt mir
Reaktionen: TomH22
@CaptainPighead: Ich hatte vergessen die "KI" nach Swappiness zu fragen und das gerade nachgeholt. Dabei stellte sich heraus, dass macOS etwas wie zRAM doch nutzt: s. u.

Mein Fazit (nach dem was die "KI" behauptet, also ohne Gewähr):

Offebar ist macOS schon von Haus aus bestmöglich konfiguriert und wie man am Aufwand zum deaktivieren der Swap sieht, sind "Optimierungen" nicht erwünscht und es vermutlich auch nicht darauf ausgelegt. Abweichungen von den vom OS und der installierten Software erwarteten Standardeinstellungen können höchstens Probleme verursachen.

Andreas:
Gibt es bei macOS vergleichbares zur Swappiness bei Linux?

Aria:
Bei macOS gibt es kein direktes Äquivalent zur Swappiness-Einstellung, die in Linux verwendet wird, um zu steuern, wie aggressiv das System den Swap-Speicher nutzt. Allerdings gibt es einige relevante Punkte, die du beachten kannst:

Automatische Verwaltung: macOS verwaltet den Swap-Speicher automatisch, ohne dass der Benutzer manuell eingreifen muss. Das System entscheidet, wann und wie viel Speicher ausgelagert wird.

Speicherkompression: macOS verwendet eine Technik namens Speicherkompression, die es ermöglicht, mehr Daten im RAM zu halten, indem weniger häufig verwendete Daten komprimiert werden, bevor sie auf die Festplatte ausgelagert werden.

Überwachung des Speichers: Du kannst die Speichernutzung in der Aktivitätsanzeige überwachen. Dort gibt es eine Speicherdruckgrafik, die dir zeigt, wie effizient dein Mac mit dem Speicher umgeht.

Temporäre Lösungen: Einige Benutzer haben berichtet, dass sie den Befehl sudo purge verwenden, um den Cache zu leeren und möglicherweise die Swap-Nutzung zu reduzieren, aber dies ist keine dauerhafte Lösung.

Wenn du mehr über die Speicherverwaltung in macOS erfahren möchtest oder spezifische Fragen hast, lass es mich wissen!

Andreas:
Kannst du mir mehr über die Speicherkompression in macOS erzählen?
(Anm.: Das war eine der vorgeschlagenen Fragen, die die gut passte. Ich hätte es anders formuliert.)

Aria:
Natürlich! Die Speicherkompression in macOS ist eine intelligente Funktion, die dazu beiträgt, den verfügbaren Arbeitsspeicher effizienter zu nutzen. Hier sind einige wichtige Punkte dazu:

Funktionsweise: macOS komprimiert weniger häufig verwendete Daten im RAM, um mehr Informationen in weniger Platz zu quetschen. Dadurch wird der physische Speicher besser genutzt.

Vorteile:

Erhöhte Effizienz: Durch die Kompression kann das System mehr Anwendungen gleichzeitig ausführen, ohne auf den Swap-Speicher zurückgreifen zu müssen.

Schnellere Leistung: Da die Daten im RAM bleiben, sind sie schneller zugänglich als wenn sie auf die Festplatte ausgelagert werden.

Überwachung: In der Aktivitätsanzeige kannst du die Menge des komprimierten Speichers einsehen. Dort wird angezeigt, wie viel RAM durch die Kompression eingespart wurde.

Automatische Verwaltung: Die Speicherkompression erfolgt automatisch, ohne dass der Benutzer manuell eingreifen muss. Das System entscheidet, wann und wie viel Speicher komprimiert wird.

Wenn du noch mehr Details oder spezifische Fragen zur Speicherkompression oder anderen Funktionen in macOS hast, lass es mich wissen!

Andreas:
Ist das nicht vergleichbar zu zRAM bei Linux?

Aria:
Ja, die Speicherkompression in macOS ist tatsächlich vergleichbar mit zRAM in Linux! Hier sind einige wichtige Punkte, die die beiden Technologien miteinander verbinden:

Zweck:

Speicherkompression (macOS): Komprimiert weniger häufig verwendete Daten im RAM, um mehr Speicherplatz zu schaffen und die Leistung zu verbessern.

zRAM (Linux): Erstellt ein komprimiertes Blockgerät im RAM, das als Swap-ähnlicher Speicher verwendet wird, um die Effizienz zu steigern und die Nutzung von physischem Speicher zu optimieren.

Leistungsverbesserung:

Beide Technologien zielen darauf ab, die Leistung des Systems zu verbessern, indem sie den Zugriff auf Daten im RAM beschleunigen und die Notwendigkeit verringern, auf die langsamere Festplatte zuzugreifen.

Automatische Verwaltung:

Sowohl macOS als auch Linux verwalten diese Funktionen automatisch, ohne dass der Benutzer manuell eingreifen muss.

Einsatzgebiet:

zRAM wird häufig in Systemen mit begrenztem RAM eingesetzt, um die Leistung zu optimieren, während die Speicherkompression in macOS eine Standardfunktion ist, die auf den meisten modernen Macs verfügbar ist.

Wenn du mehr über die spezifischen Implementierungen oder die Vor- und Nachteile von zRAM im Vergleich zur Speicherkompression in macOS erfahren möchtest, lass es mich wissen!

Noch ein Tipp:

Hiermit kann man macOS so auf einen externen Datenträger sichern, dass es von dort bootfähig ist (prinzipiell das gleiche wie mein "SoS"):  SuperDuper!

Da bei weiteren Sicherungen nur noch die Änderungen übertragen werden müssen, ist das sehr schnell gemacht: Bei mir dauert das üblicherweise nur um die 20 Sekunden. - Allerdings aktualisieren ich es auch nach jeder gravierenden Änderung: Ist ja schnell gemacht. ;-)

Mit knapp 30€ hat es nicht mal einen überzogen Apple-Aufschlag. Ich finde das jedenfalls angemessen.

Da muss ich mich korrigieren:

Es kann viel mehr als ich zuerst den Eindruck hatte: Es unterstützt Timeshift, Snapshots (sowohl beim installierten System, als auch bei den Sicherungen), man kann bei der Sicherung vorkonfigurierte Skripe nutzen, um gewisses zu erreichen (mangels Mac kann ich es leider nicht ausprobieren: Wieso gibt es von macOS keine allgemein lauffähigen Livesysteme? Ich würde mir das OS so gerne mal ansehen und damit experimentieren…), u. v. m.

Der Preis ist nicht nur "angemessen", sondern für all das gebotene und auch die umfassende Unterstützung, die man auf der Seite bekommt, mehr als günstig!

Der Name ist übrigens nur für uns merkwürdig. Im englischen ist er durchaus plausibel:

dupe=duplizieren, SuperDuper=SuperDuplikator

Der Autor hat mir das bestätigt:
Yes, that’s right – it was a pun-name, where it was both “great” and “a super duplicator” -> backup program.
(Ich hatte gefragt, weil ich zuerst dachte es würde sich auf das alte Amiga-Programm beziehen, was er aber gar nicht kannte. Erst im Verlauf der Unterhaltung kam mir die Idee zu obigen.)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: CaptainPighead
areiland schrieb:
Das bedeutet, dass das System Speicherseiten schlafender Prozesse auslagert
Das hat mit schlafend oder nicht schlafend nur am Rande zu tun (das war früher mal anders).
I.d.R. führt das Memory-Management Buch darüber, wie oft Speicherseiten benötigt werden. Und die, die am wenigsten benötigt werden (und wo es auch am längsten her ist), die werden vernünftigerweise auch bevorzugt ausgelagert.

areiland schrieb:
um erst gar keinen Speichermangel entstehen zu lassen. Und da macht auch das auf BSD basierende MacOs keine
Hängt davon ab. Oftmals ist die Swap-Freundigkeit (Swappiness) auch konfigurierbar.
Und es hängt davon ab, wie das Memory-Management arbeitet. Linux-Systeme sind häufig darauf ausgelegt overcommit zu erlauben. Dementsprechend neigen die mal eher zum "swappen".
FreeBSD ist da eher zurückhaltend. Das sehe ich auch gut bei meinen eingesetzten FreeBSD-Systemen, das da Swap so gut wie nie verwendet wird. Selbst bei einigermaßen hoher Speicherauslastung.

Wie es bei MacOS X ist, weiß ich gar nicht. Da die aber viel FreeBSD-Code enthalten, verhalten die sich möglicherweise eher wie FreeBSD. Wenn mans genau wissen will, kann man ja ggf. bei Darwin/XNU nachrecherchieren. Kann aber genauso gut sein, das wegen "user-experience" sicherstellen möchte, das immer ein gewisser Anteil an RAM schnell verfügbar ist.

Will sagen: Die Thematik ist nicht trivial zu beantworten.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: CaptainPighead und TomH22
Damit es nicht übersehen wird: Ich habe meine Empfehlung für SuperDuper in #17 korrigiert und erweitert.

Sicherungen sind m. E. zu wichtig, um das unter den Tisch fallen zu lassen.
 
Caramon2 schrieb:
(mangels Mac kann ich es leider nicht ausprobieren: Wieso gibt es von macOS keine allgemein lauffähigen Livesysteme? Ich würde mir das OS so gerne mal ansehen und damit experimentieren…), u. v. m.
Du empfiehlst eine Software die Du mangels Mac überhaupt nicht ausprobieren kannst?

Seltsam...

Nur als Tipp von einem Mac Besitzer:
Als Apple Boardmittel gibt es schon TimeMachine. Da sichert zwar nicht das Betriebssystem (es ist kein Image Backup) aber alle Nutzdaten, Einstellungen, usw.
Bei der Wiederherstellung aus Time Machine Backup wird automatisch das System wieder installiert und in den Stand der gewählten Sicherung versetzt:

https://support.apple.com/de-de/102518?choose-your-type-of-mac=mac-with-apple-silicon

Für normale Anwender ohne besondere Anforderungen reicht diese Methode in der Regel aus.

Für Entwickler gibt es noch andere Optionen, unter anderem kann man auch macOS auf einem Mac in einer VM laufen lassen.

Ist allerdings eigentlich bezüglich des urspünglichen Threads Off-Topic, denn danach wurde garnicht gefragt.
 
  • Gefällt mir
Reaktionen: CaptainPighead

Ähnliche Themen

Zurück
Oben