Verschieben der Auslagerungsdateien auf eine dedizierte Partition in Snow Leopard

27440
e.James

Bislang konnte ich die virtuellen Arbeitsspeicherauslagerungsdateien von Apple in eine dedizierte Partition auf meiner Festplatte verschieben. Die von mir verwendete Technik ist in einem Thread auf forums.macosxhints.com beschrieben.

Mit der Entwicklervorschau von Snow Leopard funktioniert diese Methode jedoch nicht mehr. Weiß jemand, wie es mit dem neuen Betriebssystem möglich ist?

Update: Ich habe die Antwort von dblu als akzeptiert markiert, obwohl sie nicht ganz funktioniert hat, weil er ausgezeichnete, detaillierte Anweisungen gegeben hat und weil sein Vorschlag, sie zu verwenden, plutilmich letztendlich in die richtige Richtung weist . Die vollständige, funktionierende Lösung wird hier in der Frage veröffentlicht, da ich nicht genug Ansehen habe, um die akzeptierte Antwort zu bearbeiten.

Update Nr. 2: Das Verfahren wurde geändert, um die Technik von ekl zu veranschaulichen. Dies vereinfacht das Ganze erheblich, da kein Zwischen-Shellskript erforderlich ist:

Komplette Lösung:

1. Öffnen Sie das Terminal und erstellen Sie eine Sicherungskopie der standardmäßigen dynamic_pager.plist von Apple:

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

2. Konvertieren Sie die plist von binärem in einfaches XML:

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

3. Öffnen Sie die konvertierte Plist mit Ihrem gewünschten Texteditor. (Ich verwende pico, siehe die Antwort von Dblu 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 ProgramArguments-Array (Zeilen 13 bis 18), um den Shell-Befehl wait4path (wie von ZILjr vorgeschlagen ) zu verwenden, bevor Sie dynamic_pager starten. In Anmerkung 1 erfahren Sie, warum dies notwendig ist. Im folgenden Beispiel heißt meine Partition 'Swap', und ich entschied mich dafür, die Auslagerungsdateien in ein verstecktes Verzeichnis mit dem Namen '.vm' zu legen, um sicherzustellen, 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 Plist und kehren Sie zur Terminal-Eingabeaufforderung zurück. Mit Hilfe picowä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. Wandle die modifizierte Plist zurück in eine Binärdatei:

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

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

8. Starten Sie nach dem Starten des Computers das Terminal und stellen Sie sicher, dass 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 Auslagerungsdateien:

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

10. Profitieren!

Anmerkung 1

Das Ändern der Argumente zu dynamic_pager in der plist ohne Verwendung wait4pathfunktioniert nicht immer. Wenn dies fehlschlägt, geschieht dies auf spektakuläre Weise leise. Das Problem rührt von der Tatsache her, dass dynamic_pager sehr früh im Startvorgang gestartet wird. Wenn Ihre Swap-Partition beim ersten Laden von dynamic_pager noch nicht bereitgestellt wurde (dies geschieht nach meiner Erfahrung zu 99%), dann fälscht das System den Weg. In Ihrem Verzeichnis / Volumes wird ein symbolischer Link erstellt, der denselben Namen wie Ihre Swap-Partition hat, jedoch auf den Standardspeicherort der Auslagerungsdatei (/ private / var / vm) verweist. Wenn Ihre eigentliche Swap-Partition installiert wird, erhält sie den Namen Swap 1(oder YourDriveName 1). Sie können das Problem sehen, indem Sie Terminal öffnen und den Inhalt Ihres / Volumes-Verzeichnisses 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 in Schritt 12 nach den Auslagerungsdateien suchen würden, würden Sie sie immer noch sehen ! Der symbolische Link lässt den Anschein erwecken, als wären Ihre Auslagerungsdateien verschoben worden, obwohl sie tatsächlich am Standardspeicherort gespeichert wurden.

Anmerkung 2

Ursprünglich konnte ich dies nicht in Snow Leopard verwenden, da com.apple.dynamic_pager.plist im Binärformat gespeichert wurde. Ich habe eine Kopie der Originaldatei erstellt und sie mit Apples Property List Editor (verfügbar mit Xcode) geöffnet, um Änderungen vorzunehmen, aber dieser Prozess fügte der plist-Datei einige erweiterte Attribute hinzu, die das System dazu veranlassten, es zu ignorieren und nur die Standardwerte zu verwenden . Wie dblu darauf hinweist, plutilfunktioniert die Konvertierung der Datei in einfaches XML wie ein Zauber.

Notiz 3

Sie können in der Konsolenanwendung nach Meldungen suchen, die von dynamic_pager_init auf dem Bildschirm angezeigt werden. Wenn die folgenden Zeilen immer und immer wieder angezeigt werden, liegt ein Problem mit dem Setup vor. Ich bin auf diese Nachrichten gestoßen, weil ich vergessen habe, das '.vm'-Verzeichnis zu erstellen, das ich in dynamic_pager_init angegeben habe.

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 einwandfrei funktioniert, sehen Sie die obige Meldung möglicherweise nur ein paar Mal und dann nicht mehr die Meldungen "Throttling Respawn". Dies bedeutet, dass das System auf das Laden der Partition warten musste, aber am Ende war es erfolgreich.

30
Ich bin wirklich neugierig, warum Sie das tun möchten. BinaryMisfit vor 14 Jahren 0
Für die kleinen Leistungsgewinne. Ich möchte meine Festplatte (n) je nach Nutzung partitionieren. 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 hält die Trennung der Auslagerungsdateien vom Rest des Systems die Fragmentierung der Festplatten gering. Ich würde es vorziehen, auf einem dedizierten Laufwerk auszutauschen, aber in der Regel reicht eine andere Partition aus. e.James vor 14 Jahren 0
Gut genug - Partitionen auf demselben Laufwerk verursachen jedoch tatsächlich mehr Arbeit für das Laufwerk selbst. Partitionen auf verschiedenen Laufwerken bieten jedoch einen Leistungszuwachs. Die Festplatte muss mehr arbeiten, wenn Sie auf einem einzelnen Laufwerk über Partitionen springen. Ich frage nur, weil ich nach fast zweijähriger Nutzung des Ausfalls keine Fragmentierungs- und Leistungsprobleme auf meinem Mac habe und wenn ich diese Posts sehe, interessieren sie mich. BinaryMisfit vor 14 Jahren 4
Ich neige dazu, meine Maschine ziemlich hart zu betreiben; Aufteilung zwischen Cocoa-Entwicklung, 3D-Rendering und Photoshop-Arbeit sowie ein wenig zwangloses Spielen, wenn ich Zeit habe. Ich bin vielleicht ein wenig zu wenig mit kleinen Leistungsproblemen beschäftigt, aber ich sitze so viel Zeit vor der Maschine, dass ich für sie empfindlich geworden bin :) e.James vor 14 Jahren 0
Snow Leopard ist bis zum 28. noch unter NDA. Alle Entwicklervorschauen unterliegen ebenfalls NDA. Chealion vor 14 Jahren 0
Ich vermute, du hast recht. Vielleicht gibt es deshalb hier keine Antworten. Ich hoffe, Sie haben am Ende des Monats eine für mich :) e.James vor 14 Jahren 0
Ich bin nicht sicher, warum ich keine Antwort posten kann (** 101 ** rep, die - wenn ich mich an meine Mathematik erinnern kann - mehr ist als die ** 10 **, die der geschützte Zustand erfordert) _, aber ich Ich habe eine Lösung gefunden, die nicht Wait4path ist, dank dem, was Applicorns Xupport für mich modifiziert hat. Ich werde eine vollständige Antwort posten, sobald ich herausgefunden habe, wie das geht, aber das Kürzel ist, das letzte Programmargument in nur den neuen Pfad zu ändern (z. B. `/Volumes/swap/.vm/swapfile`), ändern Sie die` OnDemand` Taste in ``und fügen Sie am Ende einen` StartOnMount`-Schlüssel mit dem Wert ``. _P.S. Diese Lösung funktioniert gut in Lion (zumindest für mich) ._ Slipp D. Thompson vor 11 Jahren 1
@Slipp Douglas: Sieht für mich echt aus. Das `StartOnMount`-Flag wurde in 10.5 hinzugefügt: http://www.mactech.com/articles/mactech/Vol.25/25.10/2510MacEnterprise-SnowLeopard-launchdandLunch/index.html e.James vor 11 Jahren 1
Eine weitaus einfachere Möglichkeit wäre, den Ordner / private / var / vm zu löschen und eine Verknüpfung zu dem Volume zu erstellen, auf dem Sie sie speichern möchten. So mache ich es. Laurent Crivello vor 11 Jahren 0
@LaurentCrivello: Das ist eine faszinierende Idee, aber bist du sicher, dass es wirklich funktioniert? (Siehe Details in meiner Anmerkung 1). dynamic_pager tendiert dazu, lautlos auf / private / var / vm zurückzugreifen, wenn die Zielpartition noch nicht gemountet wurde. Ich bin nicht zu 100% sicher, wie symbolische Links unter diesen Bedingungen funktionieren. e.James vor 11 Jahren 0
@ e.James: So arbeite ich seit einer Woche und meine Eissues auf der Festplatte sind komplett verschwunden. Die SWP-Datei wird auf das 2. interne Laufwerk meines Computers (nicht auf die Startpartition) übertragen. Möglicherweise ist dies der Grund, warum sie von Anfang an gemountet wurde ... Laurent Crivello vor 11 Jahren 0
Querverweise auf die ähnliche Frage des Eröffnungsposters in Ask Different: [Wie kann ich Auslagerungsdateien für virtuellen Speicher auf ein anderes Laufwerk oder eine andere Partition verschieben?] (Http://apple.stackexchange.com/q/1465/8546) (2010-09.) -12) Graham Perrin vor 10 Jahren 0

8 Antworten auf die Frage

10
dblu

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


Folgende Lösung hat für mich funktioniert:

Öffnen Sie ein Terminal und sichern Sie die Datei com.apple.dynamic_pager.plist, die Sie in einem Moment ä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 wird ungefähr so ​​aussehen:

 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 Sie und schließen Sie Ihren Editor in Zeile 17, ändern Sie / private / var / vm / swapfile (z. B. / Volumes / partition2 / swapfile) (": x" führt beides in vim aus).

konvertieren Sie die Plist-Datei wieder in eine Binärdatei:

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

Nach dem Neustart Ihres Mac sollten Sie die Auslagerungsdateien in dem von Ihnen angegebenen Verzeichnis finden.

Wenn Sie auf Probleme stoßen, können Sie die Sicherung, die Sie im ersten Schritt erstellt haben, mit den folgenden Schritten wiederherstellen:

$ cd / System / Library / LaunchDaemons $ sudo cp com.apple.dynamic_pager.plist 
Sind Sie sicher, dass die Auslagerungsdatei * tatsächlich * mit diesem Setup auf die Partition verschoben wird? Wenn ich diesen Ansatz ursprünglich ausprobierte, wurde dynamic_pager geladen, bevor die sekundären Partitionen geladen wurden. Das System fälschte seinen Weg durch die Erstellung eines symbolischen Links zu partition2 im Verzeichnis / Volumes, das lediglich auf / private / var / vm verweist. Sie können den Fehler identifizieren, indem Sie ls -al im Verzeichnis / Volumes ausführen, in dem Sie "partition2" (symbolischer Link) und "partition2 1" (Ihre eigentliche Partition) sehen. e.James vor 14 Jahren 0
So oder so, +1 für die Technik zum Konvertieren von Plist-Dateien in das Binärformat und vom Binärformat. com.apple.dynamic_pager.plist war in 10.5.x im Nur-Text-Format, jedoch ab 10.6 im Binärformat. Welches ist ein Teil meines Problems. Ich habe Plist-Dateien mit der mit Xcode gelieferten Property List Editor-App geändert. Vielleicht haben die Dinge deshalb nicht funktioniert. Ich werde Plutil versuchen und sehen, ob es mich weiterbringt. e.James vor 14 Jahren 0
Ich kann es momentan nicht mit einer anderen Partition testen, aber während meiner Tests habe ich dynamic_pager erstellt, um Swap-Dateien auf einem Thumbdrive zu erstellen, indem die obige Technik verwendet wird. dblu vor 14 Jahren 0
Dank Ihres Vorschlags, "plutil" für die Konvertierungen zu verwenden, konnte ich die ursprüngliche Technik zum Laufen bringen. Ich habe die vollständige Lösung in die Frage gestellt (da ich nicht genügend Vertreter habe, um sie Ihrer Antwort hinzuzufügen). In meiner Anmerkung 1 finden Sie eine detaillierte Beschreibung der Probleme, auf die ich beim Modifizieren der Plist gestoßen bin. e.James vor 14 Jahren 0
Trotzdem vielen Dank für die Antwort. Sie haben eine ausgezeichnete Anleitung zusammengestellt, und Sie haben mich in die richtige Richtung gelenkt, so dass ich sie als akzeptiert markiert habe. Prost! :) e.James vor 14 Jahren 0
Auf neueren OS Xes _ (10.10, aber nicht 10.8, unsicher über 10.9) _, ist "com.apple.dynamic_pager.plist" im XML-Format in einer Standardinstallation - die beiden Zeilen "sudo plutil -convert ..." sind nicht erforderlich. Slipp D. Thompson vor 8 Jahren 0
3

Ich habe diese Idee angenommen und etwas weiter verfolgt, indem ich die Wachstums- und Rekultivierungsstrategien ansprach.

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

+1 Tolles Zeug! Ich probiere es gerade aus. Hier ist der Link zum GoogleCode-Projekt: http://code.google.com/p/dynamicpagerwrapper/ e.James vor 14 Jahren 1
make sure you're using at least revision 8 of the script: http://code.google.com/p/dynamicpagerwrapper/source/browse/trunk/dynamic_pager_wrapper vor 14 Jahren 0
3
ekl

Nur eine Frage: Warum nicht einfach die .plist-Datei hinzufügen wait4path, anstatt das Intermediat zu verwenden dynamic_pager_init?

etwas wie das:

BEARBEITEN: Wie in dem Kommentar von e.James und meinem folgenden Kommentar erläutert, ist der unmittelbar folgende XML-Block nicht gut, da sowohl ein Fehler (missing &&) als auch 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 beachten Sie, dass ich immer noch nicht genug Zeit hatte, diese Einstellung sicher auszuprobieren. Ich habe jedoch versucht, verschiedene andere Shell-Befehle auszuführen, die auf dieselbe Weise gestartet wurden, und alles sollte wie erwartet funktionieren

Wie es funktioniert:

base: executing wait4path /path && commandbedeutet, dass commandes nur ausgeführt wird, wenn es wait4pathbeendet und ohne Fehler beendet wird. Dies geschieht nur, wenn /pathein Pfad verfügbar ist. Daher können wir sicher angeben dynamic_pager, dass dieses Volume für Auslagerungsdateien verwendet wird

1) Wie in der launchd.plistManpage geschrieben, werden die Tasten Programund ProgramArgumentseinem execvpAufruf zugeordnet. Dies bedeutet, dass alles außer der ersten Zeichenfolge im Array als Argument für die erste Zeichenfolge im Array behandelt wird, das das Programm ausführt.

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

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

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

/bin/bashist das auszuführende Programm, -cdas erste Argument und die doppelte Anführungszeichenfolge ist das zweite Argument

Ich denke, es sollte genau so wie Ihre Lösung funktionieren, ohne das Zwischenskript: launchdDer Dienst wird gestartet, der auf den angegebenen Pfad wartet und dann gestartet wird dynamic_pager.

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

PS: Gehen Sie wie immer auf eigene Gefahr vor. Ich übernehme keine Verantwortung für Probleme, die Sie möglicherweise mit dieser Einstellung haben!

Danke, dass Sie Ihre Arbeit mit uns teilen

Das ist eine interessante Idee. Ich bin nicht sicher, ob es "legal" ist, mehr als ein Programm in das `ProgramArguments`-Array zu schreiben, aber es lohnt sich auf jeden Fall. Hast du es ausprobiert? e.James vor 13 Jahren 0
Entschuldigung, es gibt einen Fehler in meinem vorherigen Beitrag. Meine Idee war, die folgende Befehlszeile auszuführen (beachten Sie, dass && fehlt): wait4path / Volumes / Swap / && / sbin / dynamic_pager -F /Volumes/Swap/.vm/swapfile Wenn jemand einen Weg findet, diese Zeile so zu "formatieren", dass launchd sie mögen wird, denke ich, dass sie funktionieren sollte (ich denke darüber nach, vielleicht rufe ich / bin / bash und den Rest als Argumente?); Weitere Erklärungen zu den Feldern "Program" und "ProgramArguments" finden Sie in der Manpage launchd.plist. Diese führt zur execvp (3) -Manpage. Ich lese und denke, wenn jemand schneller ist, bitte posten :) ekl vor 13 Jahren 0
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 vor 13 Jahren 0
Ich habe es auf meinem Laptop ausprobiert und es scheint zu funktionieren. Ich werde ein paar Tage im Auge behalten, um sicherzugehen, aber es sieht so aus, als hätten Sie den gesamten Prozess enorm vereinfacht! Gute Arbeit `:)` e.James vor 13 Jahren 0
Ihre vereinfachte Methode funktioniert auf meinem Laptop wie ein Zauber. Vielen Dank! Ich werde die Hauptfrage aktualisieren, um Ihre Lösung zu integrieren. e.James vor 13 Jahren 0
2
Michael Spurlock

Ich weiß, es ist eine Weile her, seit dieser Artikel geschrieben wurde, aber ich dachte, ich würde hier meinen eigenen kleinen Artikel hinzufügen, für diejenigen, die dies ebenfalls tun wollen…

Ich habe den obigen Trick verwendet, um meine Auslagerungsdateien auf ein anderes internes Laufwerk zu verschieben (mein Startlaufwerk ist ein SSD mit MLC-Chips, sodass das Verschieben von VM die Lebenserwartung retten kann). Nachdem ich das neue Volume erstellt hatte, hatte ich im Finder ein Swap-Volume, das ich niemals im Finder selbst verwenden werde. Daher entschied ich mich, das Volume für Finder unsichtbar zu machen. Sie benötigen das Developer Toolkit von Apple. Dann tippen Sie:

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

… Und ersetzen Sie / Volumes / Swap mit dem, was Sie als Volume bezeichnet haben. Starten Sie Finder und Presto neu, kein Swap-Volumen mehr im Finder!

1
ZILjr

Sie können mit wait4path warten, bis der Datenträger geladen wird. Andernfalls startet launchd Ihr dynamic_pager_init-Skript immer wieder neu, bis es funktioniert.

Brillant! Ich habe "wait4path" anstelle der "if" / "grep" -Kombination verwendet, und das reinigt die Dinge recht gut. Danke für den Tipp. e.James vor 14 Jahren 0
1

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

Virtual Memory Optimizer:

Ändern des Speicherorts der Auslagerungsdateien In Mac OS X werden die Informationen zum virtuellen Speicher in den sogenannten "Auslagerungsdateien" gespeichert. Da es sich bei den Auslagerungsdateien um die meisten interaktiven Systemdateien handelt, 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 Mindestgröße für die Partition sollte etwa das 3- bis 4-fache der physischen Größe des eingebauten 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 FIRST-Partition neu (mit der Mac OS X-Installations-DVD). WARNUNG: Das erneute Partitionieren einer Festplatte löscht alle vorhandenen Daten!

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

3. Booten Sie von der Systempartition.

4. Wenn Sie möchten, dass Ihr Swap-Volume für den Finder nicht sichtbar ist: • Starten Sie Xupport und wählen Sie "Einstellungen". • Aktivieren Sie "Alle Dateien und Ordner anzeigen" und starten Sie den Finder erneut. • Benennen Sie das Swap-Volume von "Swap" in ".swap" um. (Der Punkt macht es für den Finder unsichtbar.) • Deaktivieren Sie "Alle 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 "Set", um die neuen Einstellungen für die Auslagerungsdatei zu übernehmen (Neustart erforderlich).

Übrigens, es funktioniert für mich. 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 detaillierte Anweisungen! e.James vor 14 Jahren 0
http://www.applicorn.com/ - 404 pkoch vor 12 Jahren 0
1
cregox

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

Von jedem Mal, wenn ich vor 10 Jahren und auch unter Ubuntu bereits unter Linux Swap verwendet habe, konnte ich keine Leistungsverbesserungen feststellen. Mein Wunsch war es, Probleme mit freiem Speicherplatz unter OSX und unter Linux für den Ruhezustand zu verhindern. Das ist alles Swap für mich.

Aber ich habe nie wirklich tiefer recherchiert, weder alleine noch im Internet.

Das ist eine gültige Kritik. Ich habe keine Daten, um meine Ansprüche zu stützen :) e.James vor 14 Jahren 0
Cool. Also könnten Sie vielleicht auch aufgeben, all diese Schwierigkeiten zu durchlaufen! : P cregox vor 14 Jahren 0
1
Jesse

Dies ist keine Antwort, aber vielleicht eine sehr nützliche Ergänzung. Apple bietet hier einen kostenlosen Plist-Editor für PlistEdit Pro . Sie können 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 eine andere Stelle zu verschieben ...

Wieder habe ich das nicht getestet ...

Es ist ein guter Gedanke, und das erste, was ich mit diesem Weg angefangen habe. Das Problem ist, dass die Swap-Partition nicht immer zu dem Zeitpunkt gemountet wird, wenn der dynamische Pager gestartet wird. In Anmerkung 1 der Frage selbst finden Sie Einzelheiten dazu, was ich meine. e.James vor 13 Jahren 0