Verschieben der Auslagerungsdateien auf eine dedizierte Partition in Snow Leopard


31

Bisher konnte ich die virtuellen Speicher-Swap-Dateien von Apple auf eine dedizierte Partition auf meiner Festplatte verschieben. Die von mir verwendete Technik ist in einem Thread auf forums.macosxhints.com beschrieben.

In der Entwicklervorschau von Snow Leopard funktioniert diese Methode jedoch nicht mehr. Weiß jemand, wie es mit dem neuen Betriebssystem gemacht werden könnte?

Update: Ich habe die Antwort von dblu als akzeptiert markiert , obwohl es nicht ganz funktioniert hat, weil er ausgezeichnete, detaillierte Anweisungen gegeben hat und weil sein Vorschlag, sie plutilletztendlich zu verwenden, mich in die richtige Richtung gelenkt hat . Die vollständige funktionierende Lösung finden Sie hier in der Frage, da ich nicht genug Reputation habe, um die akzeptierte Antwort zu bearbeiten.

Update Nr. 2: Die Prozedur wurde geändert, um die Technik von ekl zu veranschaulichen. Dies vereinfacht das Ganze erheblich, da kein intermediäres Shell-Skript erforderlich ist:

Komplette Lösung:

1. Öffnen Sie das Terminal und erstellen Sie eine Sicherungskopie von Apples Standard-Dynamic_Pager.plist:

$ cd /System/Library/LaunchDaemons
$ sudo cp com.apple.dynamic_pager.plist{,_bak}

2. Konvertieren Sie die Plist von binärem zu einfachem XML:

$ sudo plutil -convert xml1 com.apple.dynamic_pager.plist

3. Öffnen Sie die konvertierte Liste mit einem Texteditor Ihrer Wahl. (Ich benutze pico, siehe dblus Antwort für ein Beispiel mit vim):

$ sudo pico -w com.apple.dynamic_pager.plist

Es sollte wie folgt aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
    <key>EnableTransactions</key>
    <true/>
    <key>HopefullyExitsLast</key>
    <true/>
    <key>Label</key>
    <string>com.apple.dynamic_pager</string>
    <key>OnDemand</key>
    <false/>
    <key>ProgramArguments</key>
    <array>
        <string>/sbin/dynamic_pager</string>
        <string>-F</string>
        <string>/private/var/vm/swapfile</string>
    </array>
</dict>
</plist>

4. Ändern Sie das Array ProgramArguments (Zeilen 13 bis 18), um den von ZILjr vorgeschlagenen Befehl wait4path shell zu verwenden, bevor Sie dynamic_pager starten. In Anmerkung 1 finden Sie Einzelheiten dazu, warum dies erforderlich ist. Im folgenden Beispiel heißt meine Partition "Swap", und ich habe mich dafür entschieden, die Swap-Dateien in einem versteckten Verzeichnis namens ".vm" auf dieser Partition abzulegen. Stellen Sie sicher, dass das von Ihnen angegebene Verzeichnis tatsächlich vorhanden ist . Das XML sollte wie folgt aussehen:

<key>ProgramArguments</key>
<array>
    <string>/bin/bash</string>
    <string>-c</string>
    <string>/bin/wait4path /Volumes/Swap/ &amp;&amp;
/sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile</string>
</array>

5. Speichern Sie die Liste und kehren Sie zur Eingabeaufforderung des Terminals zurück. Mit pico, wären die Befehle:

<ctrl+o> to save the file
<enter>  to accept the same filename (com.apple.dynamic_pager.plist)
<ctrl+x> to exit

6. Konvertieren Sie die geänderte Plist zurück in eine Binärdatei:

$ sudo plutil -convert binary1 com.apple.dynamic_pager.plist

7.Starten Sie Ihren Mac neu. Wenn Sie auf Probleme stoßen, wechseln Sie in den ausführlichen Startmodus, indem Sie Command-v unmittelbar nach dem Startsignal gedrückt halten. Auf diese Weise sehen Sie alle Startmeldungen, die während des Startvorgangs angezeigt werden. Wenn Sie auf noch schlimmere Probleme stoßen (dh wenn Sie den Anmeldebildschirm nie sehen), halten Sie stattdessen Befehl-s gedrückt. Dadurch wird der Computer im Einzelbenutzermodus gestartet (keine grafische Benutzeroberfläche, nur eine Eingabeaufforderung), und Sie können die in Schritt 1 erstellte Sicherungskopie von com.apple.dynamic_pager.plist wiederherstellen.

8. Starten Sie nach dem Start des Computers das Terminal und überprüfen Sie, ob die Auslagerungsdateien tatsächlich verschoben wurden:

$ cd /Volumes/Swap/.vm
$ ls -l

Sie sollten so etwas sehen:

-rw-------  1 someUser  staff  67108864 18 Sep 12:02 swapfile0

9. Löschen Sie die alten Swap-Dateien:

$ cd /private/var/vm
$ sudo rm swapfile*

10. Profitieren!

Anmerkung 1

Das Ändern der Argumente für dynamic_pager in der plist ohne Verwendung von wait4pathfunktioniert nicht immer, und wenn dies fehlschlägt, geschieht dies auf spektakulär stille Weise. Das Problem rührt von der Tatsache her, dass dynamic_pager sehr früh im Startprozess gestartet wird. Wenn Ihre Swap-Partition beim erstmaligen Laden von dynamic_pager noch nicht gemountet wurde (nach meiner Erfahrung passiert dies 99% der Zeit), wird sich das System durchschlagen. Es wird eine symbolische Verknüpfung in Ihrem / Volumes-Verzeichnis erstellt, die denselben Namen wie Ihre Swap-Partition hat, jedoch auf den Standardspeicherort der Swap-Datei (/ private / var / vm) verweist. Wenn Ihre tatsächliche Swap-Partition aktiviert wird, wird ihr der Name Swap 1(oder YourDriveName 1) zugewiesen . Sie können das Problem erkennen, indem Sie das Terminal öffnen und den Inhalt Ihres Verzeichnisses / Volumes auflisten:

$ cd /Volumes
$ ls -l

Sie werden so etwas sehen:

drwxrwxrwx  11 yourUser  staff   442 16 Sep 12:13 Swap -> private/var/vm
drwxrwxrwx  14 yourUser  staff     5 16 Sep 12:13 Swap 1 
lrwxr-xr-x   1 root      admin     1 17 Sep 12:01 System -> /

Beachten Sie, dass dieser Fehler sehr schwer zu erkennen sein kann. Wenn Sie nach den Swap-Dateien suchen würden, wie ich in Schritt 12 gezeigt habe, würden Sie sie immer noch sehen ! Die symbolische Verknüpfung lässt den Eindruck entstehen, dass Ihre Auslagerungsdateien verschoben wurden, obwohl sie tatsächlich am Standardspeicherort gespeichert waren.

Anmerkung 2

Ursprünglich war es mir nicht möglich, dies in Snow Leopard zum Laufen zu bringen, da com.apple.dynamic_pager.plist im Binärformat gespeichert wurde. Ich habe eine Kopie der Originaldatei erstellt und sie mit Apples Eigenschaftenlisten-Editor (verfügbar mit Xcode) geöffnet, um Änderungen vorzunehmen, aber dieser Prozess hat der plist-Datei einige erweiterte Attribute hinzugefügt, wodurch das System sie ignorierte und nur die Standardeinstellungen verwendete . Wie dblu betonte, funktioniert die plutilKonvertierung der Datei in einfaches XML wie ein Zauber.

Notiz 3

Sie können die Konsolenanwendung überprüfen, um alle Meldungen zu sehen, die dynamic_pager_init auf dem Bildschirm wiedergibt. Wenn die folgenden Zeilen immer wieder angezeigt werden, liegt ein Problem mit der Einrichtung vor. Ich bin auf diese Nachrichten gestoßen, weil ich vergessen habe, das in dynamic_pager_init angegebene Verzeichnis '.vm' zu erstellen.

com.apple.launchd[1]  (com.apple.dynamic_pager[176]) Exited with exit code: 1
com.apple.launchd[1]  (com.apple.dynamic_pager) Throttling respawn: Will start in 10 seconds

Wenn alles ordnungsgemäß funktioniert, wird die obige Meldung möglicherweise nur ein paar Mal angezeigt, und es werden keine weiteren Meldungen zum "Drosseln von Respawns" angezeigt. Das bedeutet, dass das System warten musste, bis die Partition geladen war, aber am Ende war es erfolgreich.


Ich bin wirklich neugierig, warum Sie dies tun möchten?
BinaryMisfit

Für den kleinen Leistungszuwachs. Ich halte meine Festplatte (n) gerne nach Verwendungszweck partitioniert. Ich habe eine Partition für das Betriebssystem und die Anwendungen, eine für den Benutzerordner, eine für Dokumente, eine für Medien (Musik, Filme usw.) und eine für Auslagerungsdateien. Nach meiner Erfahrung ist die Fragmentierung der Festplatte gering, wenn die Auslagerungsdateien vom Rest des Systems getrennt bleiben. Ich würde es vorziehen, auf einem dedizierten Laufwerk zu tauschen, aber normalerweise reicht eine andere Partition aus.
e.James

4
Fair genug - Partitionen auf demselben Laufwerk verursachen jedoch tatsächlich mehr Arbeit für das Laufwerk selbst. Partitionen auf verschiedenen Laufwerken bieten jedoch einen Leistungsgewinn. Die Festplatte muss mehr Arbeit leisten, wenn Sie über Partitionen auf einer einzelnen Festplatte springen. Ich frage nur, weil ich nach fast zweijähriger Nutzung noch keine Fragmentierungs- und Leistungsprobleme auf meinem Mac habe. Wenn ich diese Posts sehe, interessieren sie mich.
BinaryMisfit

1
Ich bin nicht sicher, warum ich keine Antwort posten kann ( 101 Wiederholungen, was - wenn ich mich an meine Mathematik erinnere - mehr als die 10 sind, die der geschützte Zustand erfordert) , aber ich habe wait4pathdank Applicorns eine Nichtlösung gefunden Xupport für mich modifiziert. Ich werde eine vollständige Antwort posten, sobald ich herausgefunden habe, wie es geht, aber kurz gesagt, das letzte Programmargument wird in nur den neuen Pfad <string>/Volumes/swap/.vm/swapfile</string>geändert (z. B. ), der OnDemandSchlüssel wird in geändert <true/>, und StartOnMountam Ende wird ein Schlüssel mit einem Wert hinzugefügt von <true/>. PS Diese Lösung funktioniert gut in Lion (zumindest für mich).
Slipp D. Thompson

1
@ Slipp Douglas: Sieht für mich echt aus. Die StartOnMountFlagge wurde in 10.5 hinzugefügt gemäß: mactech.com/articles/mactech/Vol.25/25.10/…
e.James

Antworten:


10

HINWEIS : Siehe (auch) eine korrigierte / verbesserte Antwort in der Frage selbst.


Folgende Lösung hat bei mir funktioniert:

Öffnen Sie ein Terminal und sichern Sie com.apple.dynamic_pager.plist, das Sie in einer Sekunde ändern werden:

$ cd / System / Library / LaunchDaemons
$ sudo cp com.apple.dynamic_pager.plist {, _ bak}

binäre plist in xml konvertieren:

$ sudo plutil -convert xml1 com.apple.dynamic_pager.plist

und öffnen Sie es mit Ihrem bevorzugten Texteditor

$ sudo vim com.apple.dynamic_pager.plist

es sieht ungefähr so ​​aus:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 3 <plist version="1.0">
 4 <dict>
 5     <key>EnableTransactions</key>
 6     <true/>
 7     <key>HopefullyExitsLast</key>
 8     <true/>
 9     <key>Label</key>
10     <string>com.apple.dynamic_pager</string>
11     <key>OnDemand</key>
12     <false/>
13     <key>ProgramArguments</key>
14     <array>
15         <string>/sbin/dynamic_pager</string>
16         <string>-F</string>
17         <string>/private/var/vm/swapfile</string>
18     </array>
19 </dict>
20 </plist>

Speichern und schließen Sie Ihren Editor in Zeile 17 modify / private / var / vm / swapfile (z. B. / Volumes / partition2 / swapfile) (": x" erledigt beides in vim).

konvertiere die plist Datei zurück in binär:

$ sudo plutil -convert binary1 com.apple.dynamic_pager.plist

Nach dem Neustart Ihres Mac sollten Sie die Swap-Dateien in dem von Ihnen angegebenen Verzeichnis finden.

Wenn Sie auf Probleme stoßen, können Sie das Backup, das Sie im ersten Schritt erstellt haben, wiederherstellen mit:

$ cd / System / Library / LaunchDaemons
$ sudo cp com.apple.dynamic_pager.plist {_bak,}

Sind Sie sicher, dass die Auslagerungsdatei mit diesem Setup tatsächlich auf die Partition verschoben wird? Als ich diesen Ansatz ursprünglich ausprobierte, wurde dynamic_pager geladen, bevor die sekundären Partitionen bereitgestellt wurden. Das System würde sich durchsetzen, indem es eine symbolische Verknüpfung zu Partition2 im Verzeichnis / Volumes herstellt, die einfach auf / private / var / vm verweist. Sie können den Fehler identifizieren, indem Sie ls -al im Verzeichnis / Volumes ausführen. Dort werden sowohl "partition2" (der symbolische Link) als auch "partition2 1" (Ihre tatsächliche Partition) angezeigt.
e.James

In beiden Fällen +1 für die Technik zum Konvertieren von plist-Dateien in das Binärformat. com.apple.dynamic_pager.plist war in 10.5.x im Nur-Text-Format, ab 10.6 jedoch im Binärformat. Welches ist ein Teil meines Problems. Ich habe plist-Dateien mit der mit Xcode gelieferten Property List Editor-App geändert, und vielleicht hat das deshalb nicht funktioniert. Ich werde es mit plutil versuchen und sehen, ob es mich weiter bringt.
e.James

Ich kann es momentan nicht mit einer anderen Partition testen, aber während meiner Tests habe ich dynamic_pager dazu gebracht, Swap-Dateien auf einem Thumbdrive mithilfe der obigen Technik zu erstellen.
dblu

Dank Ihres Vorschlags plutilfür die Konvertierungen konnte ich die ursprüngliche Technik zum Laufen bringen. Ich habe die vollständige Lösung in der Frage gepostet (da ich nicht genug Mitarbeiter habe, um sie zu Ihrer Antwort hinzuzufügen). In meinem Hinweis Nr. 1 finden Sie eine detaillierte Beschreibung der Probleme, die beim Ändern der Plist aufgetreten sind.
e.James

Trotzdem danke für die Antwort. Sie haben eine hervorragende Anleitung zusammengestellt und mich in die richtige Richtung gelenkt, sodass ich sie als akzeptiert markiert habe. Prost! :)
e.James

3

Ich habe diese Idee übernommen und ein bisschen weiterentwickelt, indem ich mich mit den Wachstums- und Rückgewinnungsstrategien befasst habe.

Details unter http://www.crypticide.com/dropsafe/article/3848 ; Ich würde einen Link zur GoogleCode-Projektseite "dynamicpagerwrapper" posten, aber der Blog sagt mir, dass ich nicht genug Reputationspunkte habe ...


1
+1 Großartiges Zeug! Ich probiere es gerade aus. Hier ist der Link zum GoogleCode-Projekt: code.google.com/p/dynamicpagerwrapper
e.James


3

nur eine frage: warum nicht einfach die .plist datei bearbeiten und hinzufügen wait4path, anstatt das zwischenprodukt zu verwenden dynamic_pager_init?

etwas wie das:

BEARBEITEN: Wie im Kommentar von e.James und meinem folgenden Kommentar erläutert, ist der unmittelbar folgende XML-Block nicht gut, da ein Fehler (&& fehlt) vorliegt und nur das erste Argument des Arrays ProgramArguments als auszuführendes Programm analysiert wird !

aber .. (nach unten scrollen)

 ...
13     <key>ProgramArguments</key>
14     <array>
15         <string>/bin/wait4path</string>
16         <string>/Volumes/Swap/</string>
17         <string>/sbin/dynamic_pager</string>
18         <string>-F</string>
19         <string>/Volumes/Swap/.vm/swapfile</string>
20     </array>
 ...

Ende des falschen XML-Blocks


Dieser XML-Block sollte stattdessen funktionieren:

   ...
    13     <key>ProgramArguments</key>
    14     <array>
    15         <string>/bin/bash</string>
    16         <string>-c</string>
    17         <string>/bin/wait4path /Volumes/Swap/ &amp;&amp; /sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile</string>
    18     </array>
     ...

Bitte denken Sie daran, dass ich immer noch nicht genug Zeit hatte, um diese Einstellung sicher auszuprobieren, aber ich habe versucht, verschiedene andere Shell-Befehle auszuführen, die auf die gleiche Weise gestartet wurden, und alles sollte wie erwartet funktionieren

Wie es funktioniert:

base: executing wait4path /path && commandbedeutet, dass commandnur ausgeführt wird, wenn wait4pathendet und beendet wird, ohne dass Fehler auftreten. Dies geschieht nur, wenn /pathein Pfad verfügbar ist, sodass wir sicher sagen können dynamic_pager, dass dieses Volume für Swap-Dateien verwendet werden soll

1) Wie in der launchd.plistManpage beschrieben, sind die Tasten Programund ProgramArgumentseinem execvpAufruf zugeordnet, dh alles außer der ersten Zeichenfolge im Array wird als Argument für die erste Zeichenfolge im Array behandelt, die das Programm ausführen soll.

2) Wie in der bashManpage beschrieben, gibt es eine bash -c <string>Option, die als Befehle übergebene Zeichenfolge auszuführen

1 + 2 = 3) Was passiert mit dieser Kommandozeile in einer launchd plist?

/bin/bash -c "wait4path /Volumes/Swap/ && /sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile"

/bin/bashist das auszuführende Programm, -cist das erste Argument und die Zeichenfolge in doppelten Anführungszeichen ist das zweite Argument

Ich denke, es sollte genauso funktionieren wie Ihre Lösung, ohne das Zwischenskript: launchdStartet den Dienst, der auf den angegebenen Pfad wartet und startet dann dynamic_pager.

Bitte beachten Sie Folgendes:
* Die Zeichenfolge, die Sie ausführen möchten, sollte in doppelten Anführungszeichen stehen, wenn Sie bash -cin Terminal ausgeführt werden. In der plist-Datei wird sie jedoch nicht in doppelten Anführungszeichen angegeben. (Ich vermute, weil es bereits als Zeichenfolge mit dem richtigen Tag deklariert ist)
* Die beiden &in der Zeichenfolge müssen &amp;in der Plist-Datei geändert werden

PS: Gehen Sie wie immer auf eigenes Risiko vor. Ich übernehme keine Verantwortung für Probleme, die bei Verwendung dieser Einstellung auftreten können!

Vielen Dank, dass Sie Ihre Arbeit mit uns teilen


Das ist eine interessante Idee. Ich bin mir nicht sicher, ob es "legal" ist, mehr als ein Programm in das ProgramArgumentsArray aufzunehmen, aber es ist auf jeden Fall einen Versuch wert. Hast du es ausprobiert?
e.James

Entschuldigung, in meinem vorherigen Beitrag ist ein Fehler aufgetreten. Ich hatte die Idee, die folgende Befehlszeile auszuführen (beachte das &&, das fehlte): wait4path / Volumes / Swap / && / sbin / dynamic_pager -F /Volumes/Swap/.vm/swapfile Wenn jemand einen Weg findet, diese Zeile so zu "formatieren", dass launchd sie mag, denke ich, dass sie funktionieren sollte. Weitere Erläuterungen zu den Feldern Program und ProgramArguments finden Sie auf der Hilfeseite launchd.plist. Daraufhin wird die Hilfeseite execvp (3) aufgerufen. Ich lese & denke, wenn jemand schneller ist bitte posten :)
ekl

Ich habe den vorherigen Beitrag mit einer Lösung bearbeitet, die funktionieren sollte. Bitte kommentieren Sie, wenn Sie einen Fehler sehen oder was auch immer nicht richtig funktioniert. Danke!
Ekl

Ich habe es auf meinem Laptop ausprobiert und es scheint zu funktionieren. Ich werde es sicher noch ein paar Tage im Auge behalten, aber es sieht so aus, als hätten Sie den gesamten Prozess immens vereinfacht! :)
Gute

Ihre vereinfachte Methode funktioniert wie ein Zauber auf meinem Laptop. Vielen Dank! Ich werde die Hauptfrage aktualisieren, um Ihre Lösung aufzunehmen.
e.James

2

Ich weiß, dass es eine Weile her ist, dass dieser Artikel geschrieben wurde, aber ich dachte, ich würde hier unten meinen eigenen kleinen Artikel für diejenigen hinzufügen, die dies auch tun möchten ...

Ich habe den obigen Trick verwendet, um meine Auslagerungsdateien auf ein anderes internes Laufwerk zu verschieben (mein Startlaufwerk ist eine SSD mit MLC-Chips, daher kann das Entfernen von VM die Lebenserwartung retten). Nachdem ich das neue Volume erstellt hatte, verfügte ich über ein Swap-Volume in Finder, das ich nie in Finder selbst verwenden werde. Daher habe ich beschlossen, das Volume für Finder unsichtbar zu machen. Sie müssen das Developer Toolkit von Apple installiert haben. Dann tippe:

/Developer/Tools/SetFile -a V /Volumes/Swap/

… Und ersetzen Sie / Volumes / Swap mit dem Namen Ihres Volumes. Starten Sie Finder und presto neu, kein Swap-Volume mehr im Finder!


1

Mit wait4path können Sie warten, bis das Volume geladen ist. Andernfalls startet launchd Ihr dynamic_pager_init-Skript immer wieder neu, bis dies der Fall ist.


Brillant! Ich habe wait4pathstatt der Kombination if/ verwendet grep, und das räumt die Dinge ganz gut auf. Danke für den Tipp.
e.James

1

Vielleicht können wir Xupport verwenden, um diese Drecksarbeit für uns zu erledigen :) http://www.applicorn.com/

Virtual Memory Optimizer:

Ändern des Speicherorts für Auslagerungsdateien In Mac OS X werden die Informationen zum virtuellen Speicher in den sogenannten "Auslagerungsdateien" gespeichert. Da die Auslagerungsdateien die interaktivsten Systemdateien sind, ist es sinnvoll, sie auf einer separaten Partition abzulegen. Es wird empfohlen, die Auslagerungsdateien auf der ersten Partition Ihrer schnellsten internen Festplatte zu speichern. Die empfohlene minimale Partitionsgröße sollte etwa das 3- oder 4-fache der physischen Größe des integrierten Speichers betragen (z. B. 1 GB physischer Speicher = 4 GB Swap-Partition). Empfehlungen und Anweisungen für eine optimale Systemleistung:

1. Partitionieren Sie Ihre Festplatte mit einem Swap-Volume als ERSTE Partition neu (mithilfe der Mac OS X-Installations-DVD). WARNUNG: Durch die Neupartitionierung einer Festplatte werden alle vorhandenen Daten gelöscht!

2. Stellen Sie Ihre Systemdaten wieder her oder installieren Sie ein neues System auf der Systempartition.

3. Booten Sie von der Systempartition.

4. Wenn Ihr Swap-Volume für den Finder nicht sichtbar sein soll: • Starten Sie Xupport und wählen Sie "Einstellungen". • Aktivieren Sie "Versteckte Dateien und Ordner anzeigen" und starten Sie den Finder neu. • Benennen Sie das Swap-Volume von "Swap" in ".swap" um. (Der Punkt macht es für den Finder unsichtbar.) • Deaktivieren Sie "Versteckte Dateien und Ordner anzeigen" und starten Sie den Finder erneut

5. Wählen Sie unter "Swap Storage Volume" die neue Swap-Partition aus. Drücken Sie dann die Schaltfläche "Einstellen", um die neuen Einstellungen für den Speicherort der Auslagerungsdatei zu übernehmen (Neustart erforderlich).

Übrigens funktioniert es bei mir. Snow Leopard 10.6.2 @ Macbook Pro 2,4 GHz, 4 GB RAM, 500 GB HD


Sieht vielversprechend aus. Vielen Dank für den Link und die ausführliche Anleitung!
e.James


1

Dies ist höchstwahrscheinlich eine unerwünschte Antwort (da ich nach Diago keinen Kommentar abgeben kann), aber warum bestehen Sie wirklich darauf, dass dies zu geringen Leistungssteigerungen führt? Ich habe eine Diskussion in Apfelforen geführt und festgestellt, dass dies überhaupt keine gute Idee ist. Und ich war sehr bestrebt, es aufzugeben. Könnten Sie sich Daten einfallen lassen, die das zumindest für sich selbst beweisen, oder ist es nur ein "Gefühl"?

Jedes Mal, wenn ich Swap vor 10 Jahren selbst unter Linux und heute unter Ubuntu einsetzte, konnte ich nie wieder Leistungsverbesserungen feststellen. Mein Grund dafür war, Probleme mit freiem Speicherplatz unter OSX zu vermeiden und unter Linux in den Ruhezustand zu wechseln. Das ist alles, was Swap für mich ist.

Aber ich habe weder alleine noch in den Zwischenwebs wirklich gründlich recherchiert.


Das ist eine berechtigte Kritik. Ich habe keine Daten, um meine Behauptungen zu stützen :)
e.James

Cool. Vielleicht geben Sie es also auch auf, all diese Schwierigkeiten durchzustehen! : P
cregox

1

Dies ist keine Antwort, aber vielleicht eine sehr nützliche Ergänzung. Apple stellt hier einen kostenlosen Plist Editor zur Verfügung . PlistEdit Pro . Damit können Sie diese Dateien sicher bearbeiten. Sieht so aus, als könnten Sie das Argument mit dem Wert / private / var / vm / swapfile in etwas wie / Volumes / OtherDrive / vm / myswapfilename ändern , um die Auslagerungsdateien an einen anderen Ort zu verschieben ...

Wieder habe ich das nicht getestet ...


Das ist ein guter Gedanke und das erste, womit ich angefangen habe, als ich diesen Weg gegangen bin. Das Problem ist, dass die Auslagerungspartition nicht immer zu dem Zeitpunkt bereitgestellt wird, zu dem der dynamische Pager gestartet wird. Siehe Anmerkung 1 in der Frage selbst für Einzelheiten darüber, was ich meine.
e.James
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.