Da meine KollegInnen allesamt mit de-aktiviertem Swapping arbeiten, war es jetzt interessant, dieses testweise mal zu aktivieren. Wir verwendeten dazu ebenfalls einen aktuellen MacPro, also einen Mac, der ausgezeichnete Leistungsdaten aufweist und 32 GB RAM integriert hat.
Wir konnten die Probleme, die minitracer berichtet, nachstellen. Probleme gab es auch, wenn unterschiedliche Mediendateien zugespielt wurden (z.B. festplattengespeicherte DVD-Dateien, die wir mit unterschiedlichen Playern abspielten). Nach dem erneuten De-Aktivieren des Swappings gab es keine Arbeitsbehinderungen mehr.
Ganz interessant noch: auch 'purge' wurde hier wieder relevant. Eben dann, wenn nichts mehr ging und (wie Marcel es ja bereits fachkenntnisreich ausführte) Programme verwendet wurden, die vermutlich 'Seitenflattern' verursachen; also angesichts von Software, die versucht, die Speicherverwaltung des Betriebssystems zu sabotieren und stattdessen intern eine eigene Speicherverwaltung zu verwenden. Dies scheint auch aktuell noch möglich zu sein (u.a. diverse Architektur/CAD-Programme, Vektorisierungssoftware usw. scheinen dann und wann Cache-Routinen zu aktivieren, die Probleme mit aktiviertem Swapping verursachen können). Resultat ist dann, dass der Mac förmlich einzufrieren scheint - Daten werden dann u.a. in einem auslastenden Maß zwischen RAM und Festplatten bewegt, was zu erheblichen Arbeitsbeeinträchtigungen führen kann.
Zur Empfehlung des De-Aktivierens des Swappings:
In vielen Betriebssituationen ist eine Performancesteigerung zu erleben. OSX wie auch Programme scheinen häufig 'verzögerungsfreier' zu arbeiten. Und dies ist auch logisch: denn Auslagerungen von Dateien zum 'Flaschenhals HD' usw. bleiben ja aus. Auch im Langzeitbetrieb sind dahingehend keine Nachteile zu vermelden.
In bestimmten Betriebssituationen ist aber auch genau das Gegenteil festzustellen. Dies hängt aber von der individuellen Verwendung und von der RAM-Kapazität des jeweiligen Macs ab, wie ich gleich noch erläutern werde.
Grundsätzlich gilt: Es wird ausreichend RAM vorausgesetzt und natürlich Kenntnis hinsichtlich der damit korrelierenden, überschaubaren Arbeitssituation.
Ab 4 GB RAM kann sich das Deaktivieren des Swappings bereits positiv auswirken. In der Praxis bedeutet dies dann jedoch auch, dass OSX natürlich nicht mehr Programmbestandteile auslagern kann, die für bestimmte, auslastende Betriebssituationen notwendig sein können. Hier gilt es abzuwägen, welche Programme man nutzt und welche Speicheranforderungen individuell gestellt sind.
Beispiel: Bei einem Macbook Air (4 GB RAM) stehen nach dem Start in der Regel ca. 2,7 GB RAM zur Verfügung. Bei der normalen Verwendung von Browsern, Textverarbeitungen, weiteren Programmen und Apps hat OSX keine Probleme, mit dem Speicher auszukommen. Auch eine virtuelle Maschine, für die z.B. 1 GB Arbeitsspeicher reserviert wird, bereitet keine Probleme und profitiert sogar vom fehlendem Swapping. Dies schlägt aber negativ um, sobald eine zweite VM, ebenfalls mit 1 GB zugewiesenem RAM, gestartet wird. Dazu reicht der physische RAM nicht mehr aus! Hier müssen sich AnwenderInnen dann also der Limitation bewusst sein: denn wer sein OS auf den physischen Speicher beschränkt, hat auch nicht mehr als diesen zur Verfügung... In diesen anspruchsvollen Betriebssituationen kann es sich darum lohnen, das Swapping aktiviert zu lassen bzw. es temporär zu re-aktivieren.
Ganz anders sieht es angesichts ausreichenden RAMs aus.
Beispiel: Ein MacMini mit 16 GB RAM wird selbst im Dauerbetrieb um die 10 - 12 GB freien RAM aufweisen. Dieser wird erst von OSX genutzt, wenn speicherintensive Programme verwendet bzw. entsprechende Betriebsszenarien aufgebaut werden. Angesichts des zur Verfügung stehenden RAMs ist es natürlich dann auch möglich, z.B. drei VMs simultan arbeiten zu lassen.
Testweise habe ich dazu mal simultan zwei virtuelle Betriebssysteme mit 4 GB und eine mit 2 GB RAM-Zuweisung angefahren und nun über zwei Tage durchlaufen lassen (der Mini läuft ansonsten seit dem letzten OS-Update im Dauerbetrieb mit de-aktiviertem Swapping reibungslos als Server im Haushalt).
Auch hinsichtlich der nun ausprobierten Auslastung waren keine Probleme festzustellen. Sowohl OSX wie auch die virtuellen Maschinen arbeiteten störungsfrei und zügig. KollegInnen, die beruflich bedingt alltäglich in ähnlichen Arbeitsszenarien arbeiten, konnten ebenso keine Nachteile vermelden. Sie äußerten vielmehr, dass sie mit aktiviertem Swapping je nach verwendeter VM-Software sogar Probleme bzw. Perfomancebeeinträchtigungen erlebten, die sich nach der De-Aktivierung wiederum erledigten.
So oder so war nun auch bei meinen Tests ein Performancevorteil zu beobachten, also wenn das Swapping de-aktiviert war. Programmbestandteile wurden nicht ausgelagert, und es stand ohnedies genügend RAM zur Verfügung, um der anspruchsvollen Arbeitssituation zu entsprechen. Dies verkehrte sich erst bei dem Versuch, die gleiche Arbeitssituation an einem MacPro nachzustellen, der lediglich 8 GB RAM zur Verfügung hat. Dort muss man sich dann wiederum der Limitierung bewusst sein: also entweder nicht alle VMs starten (was für die meisten AnwenderInnen ohnedies nicht als alltägliche Betriebssituation relevant sein dürfte) oder Swapping generell oder temporär zu re-aktivieren.
Die AnwenderInnen sollten sich also bewusst machen, welche Arbeitssituationen für sie alltäglich sind. Dann gilt es abzuwägen, ob sich die eine oder die andere Variante positiver auf den individuellen Arbeitsfluss auswirken kann. Indes lässt sich dies umstandslos auch ausprobieren. Swapping kann jederzeit de-aktiviert oder re-aktiviert werden.
Folgenden Befehl ins Terminal kopiert deaktiviert Swapping:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
Zum Reaktivieren des Swappings:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
Grundsätzlich gilt: Wer sich unsicher ist oder sehr wechselhafte Betriebsszenarien erlebt, die häufig an die Grenze der RAM-Auslastung führen und Swapping unerlässlich machen, sollte das Swapping aktiviert lassen. Dies gilt sowieso für jede AnwenderIn, die keine Probleme mit ihrer Konfiguration hat. Das OS ist darauf ausgelegt, Swapping zu verwenden.
Andererseits gilt: Swapping ist ein Hilfsmittel, dessen Entstehung darauf zurückzuführen ist, dass es Speicherbegrenzungen gab/gibt, die den Arbeitsfluss hinsichtlich der Speicherverwendung fördern sollte. Probleme, die auf die Begrenzung des physischen RAMs zurückzuführen sind, sollten damit (also unter Verwendung virtuellen RAMs wie der Auslagerung von Dateien auf die Festplatte) umgangen werden. Angesichts ausreichenden RAMs kann diese Hilfs-Maßnahme aber umgangen werden. Es ist festzustellen, dass alle derzeitigen OS' damit reibunglos arbeiten und Performancevorteile festzustellen sind.
Im Übrigen gilt aber sowieso: nur genutzter RAM ist guter RAM - also lasst euch nicht davon irritieren, wenn die Aktivitätsanzeige anzeigt, dass der RAM 'voll' sei. Er ist nicht voll - er wird vielmehr sinnvoll verwendet. Insofern muss man sich auch nicht dazu verleiten lassen, ständig Monitoring-Tools laufen zu lassen oder Tools zu verwenden, die den 'RAM tunen' bzw. leeren. Damit stört man lediglich das Speichermanagement und Routinen des OS. Anders sieht es erst aus, wenn merkliche Verzögerungen oder andere Betriebs-Probleme auftreten, wo man dann (das kann man punktuell ausprobieren) mittels 'purge' bekannte Speicher-Probleme evtl. entgegenwirken kann oder mittels des De-Aktivierens des Swappings Abläufe fördern kann, wie sie oben beschrieben wurden; angesichts eines OS', das sowohl die Verwendung von Swapping wie die ausschließliche Verwendung physischen RAMs beherrscht.
Sowieso gilt: Wer es mal ausprobieren will, ob bestimmte Probleme (wie sie z.B. minitracer berichtet hat) behoben werden können, der kann temporär das Swapping unkompliziert de-aktivieren. Es lässt sich über Terminal jederzeit wieder re-aktivieren...
Für alle Maßnahmen am System und generell für Systemeingriffe gilt ansonsten natürlich: Das Ausprobieren der Belastungssituationen sollte in einem nicht-produktiven Rahmen stattfinden. Dokumente und Arbeitsprojekte sollten dazu vorher gesichert werden.
Auch sollte man sich die Maßnahme unbedingt notieren. Ich persönlich habe mir dazu angewöhnt, eine Art 'System-Change-Log' zu führen. Dies ist eine schlichte Text-Datei, in der ich festhalte, wann ich z.B. ein Update einer App durchgeführt habe, eine Änderung an Einstellungen vorgenommen habe usw. Fehlersuche ist damit ein leichtes, auch wenn ich seit zwei Jahren zumindest bei heimischen Macs keine Probleme mehr erlebt habe (im Fall der Fälle hätte man aber u.U. einen Hinweis z.B. angesichts eines verbuggten Updates einer App usw.). Letzten Endes ist aber sowieso auch immer zu einem System-Backup zu raten (dies gilt aber grundsätzlich; was mittels des Festplattenprogramms ja auch völlig unkompliziert mittels externer Festplatte bootbar zu bewerkstelligen ist).
Ich selber nutze indessen seit drei Jahren ausschließlich Macs, an denen ich das Swapping deaktiviert habe. Probleme hatte ich damit noch nicht. Ganz im Gegenteil haben sich besonders im Dauerbetrieb und in Verwendung hinreichenden RAMs einige Betriebsstörungen erledigt und ich erlebe OSX als flotter arbeitendes Betriebssystem. Indessen weiß ich, dass ich z.B. auf dem RAM-begrenzten Macbook Air lediglich eine VM laufen lassen kann. Für eine zweite müsste ich Swapping re-aktivieren. Solche Betriebsszenarien gilt es eben abzuwägen. An stationären Macs auf der Arbeit oder daheim stellt sich die Frage sowieso nicht. Angesichts genügender RAM-Ausstattung musste ich mich hinsichtlich alltäglicher Betriebsszenarien diesbezüglich noch nicht limitieren bzw. Swapping re-aktivieren. Das gleiche gilt auch für einen Computer, der beruflich mit Windows 7 betrieben wird, wo das Swapping allerdings auch gezielt über die Systemsteuerung deaktiviert werden kann (und wo der PC angesichts hinreichenden RAMs und der mechanischen Festplatte merklich von der Maßnahme profitiert).