Gibt es eine Möglichkeit, den Swappiness von OS X 10.6 Snow Leopard zu reduzieren?


10

Ich habe 6 GB auf meinem alten Macbook mit einer SSD. Ich möchte möglichst nicht in die Auslagerungsdatei schreiben. Seit meinem Upgrade habe ich immer mindestens 1 bis 1,5 GB Speicher "frei". Ich hatte jedoch immer 2 bis 25 MB genutzten Swap-Speicherplatz. (Von insgesamt 128 MB) Wie kann ich dafür sorgen, dass 0 MB Swap verwendet werden, es sei denn, es ist "freier" Speicher verfügbar?

Unter Linux gibt es jetzt einen "swappiness" -Parameter, der die Tendenz zur Verwendung von Swap steuert. Ich möchte OS X "swappiness" sehr herunterdrücken, aber den Swap nicht vollständig deaktivieren. Ich würde gerne wissen, dass mein Computer nur langsamer läuft, wenn der Speicher knapp wird und keine Kernel-Panik besteht. Ich bin ziemlich nahe an dem Ort, an dem ich sein möchte, aber ich würde gerne diese Schreibvorgänge in einer großen Datei loswerden, die die Lebensdauer meiner SSD (ein wenig) verkürzt, während sie mir keinerlei Nutzen bringt.


Es versteht sich, dass Sie das tun, was Sie wollen, und Sie fragen nach einer Antwort auf diese Frage - ich werde das nicht bestreiten. Ich halte es jedoch für wichtig, es für weniger technisch versierte Benutzer deutlich zu machen: Die Tatsache, dass Ihr System gerade auf eine so kleine Menge wechselt, liegt daran nicht überhaupt ein Problem, nicht unbedingt eine Quelle der Trägheit und sogar das Gegenteil. Das Betriebssystem kann entscheiden, dass auf einige Speicherbereiche nicht zugegriffen werden kann. Es ist effektiver, einige Blöcke im RAM vorab freizugeben und äußerst unwahrscheinliche Cache-Fehler zu erzielen. OS X ist diesbezüglich sehr gut (siehe RAM-Nutzung verborgener Apps).
MattiSG

Antworten:


6

Ich bin nicht sicher, dass eine Auslagerungsdatei von 2 MB auf 25 MB wirklich etwas zu befürchten ist. Es empfiehlt sich möglicherweise, die Werte für Page In und Page Out zu überprüfen, um zu ermitteln, wie häufig Daten werden in den Swap geschrieben. Die Anzahl der Seitenereignisse kann über die Registerkarte Systemspeicher der Anwendung Activity Monitor ermittelt werden.

Es gibt ein paar andere Optionen, die Sie ausprobieren könnten, aber ich denke, Sie sind wahrscheinlich aus der Garantie, wenn Sie es versuchen:

Ich würde nur vorschlagen, das bestehende System in Betracht zu ziehen, da der Verschleiß Ihrer SSD wahrscheinlich minimal ist, insbesondere da SSD-Verschleiß auftritt ein bisschen von a Mythos sowieso oder vielleicht es ist nicht .


Danke, aber wenn Sie meine Frage noch einmal lesen, werden Sie feststellen, dass es tatsächlich zwei Dateien mit jeweils 64 MB gibt. Es sind nicht nur 2 bis 25 MB. Es sind insgesamt 128 MB Swap und 2 bis 25 MB Nutzung. Was mich stört, ist, dass der Gesamtswap zwischen 64 und 128 MB variiert. Dies scheint darauf hinzudeuten, dass die zweite Auslagerungsdatei deaktiviert und dann neu erstellt wird. Das ist viel Festplattennutzung für nichts. Ich wusste bereits von den beiden von Ihnen vorgeschlagenen Systemmods und zeigte an, dass ich den ersten nicht mochte. Die zweite finde ich nicht gut ausgereift.
StCredZero

Das ist deine Antwort. Das Deaktivieren des dynamischen Pagers kann wirklich hilfreich sein, aber Sie laufen wirklich Gefahr, dass Apps zum Erliegen kommen, wenn Sie keinen RAM mehr haben. Wenn der Speicher knapp wird, ist das kein Problem für Sie, dann machen Sie sich keine Sorgen.
Dustin

Die erste Verbindung ist tot.
kenorb

1
Ich habe den defekten Link behoben ... obwohl diese Antwort nun 5 Jahre und fast 6 MacOS-Versionen nicht mehr aktuell ist.
Mike Meyers

4

Wenn es so etwas in OSX gibt, lebt es wahrscheinlich hier irgendwo:

  sysctl -a | grep ^vm | sort

Diese sehen für mich nach möglichen Verdächtigen aus:

  vm.vm_page_free_target: 2000
  vm.memory_pressure: 0
  vm.page_free_wanted: 0

Ein HP-Dokument zum Verwalten der Speicherleistung erwähnt einige dieser Kernel-Variablen in S6.1.4 und S6.5. Dies sieht jedoch wie das goldene Ei in HP Tru64 aus, und in OSX sehe ich nichts davon:

  vm_aggressive_swap

Googeln weiter vm_page_free_target Ein OSX-Internals-Buch erscheint, das helfen könnte.


2

Für temporäre Lösungen können Sie ausführen sudo purge um zu erzwingen, dass der Festplattencache geleert und geleert wird, was den Swappiness etwas verringern kann (wenn Sie mehrere große Auslagerungsdateien in /private/var/vm, z.B. Ich habe 17G davon zum Zeitpunkt des Schreibens). Wenn dies nicht funktioniert, entfernen Sie die Dateien manuell. Sie werden dann neu erstellt.

Sie können auch den dynamischen Pager (Auslagerungsdämon) deaktivieren, also in Terminal ausführen (Neustart ist erforderlich):

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Um wieder zu aktivieren:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Leider müssen Sie im aktuellen OS X auch SIP deaktivieren ( Schutz der Systemintegrität ) was eigentlich nicht empfohlen wird. Sehen: Wie deaktiviere ich den Systemintegritätsschutz (SIP) "rootless" unter OS X 10.11, El Capitan?

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.