Przenoszenie plików wymiany na dedykowaną partycję w systemie Snow Leopard

31

Do tej pory mogłem przenieść pliki wymiany pamięci wirtualnej Apple na dedykowaną partycję na moim dysku twardym. Technikę, z której korzystałem, opisano w wątku na forums.macosxhints.com.

Jednak w wersji dla programistów systemu Snow Leopard ta metoda już nie działa. Czy ktoś wie, jak można to zrobić w nowym systemie operacyjnym?

Aktualizacja: zaznaczyłem odpowiedź dblu jako zaakceptowaną, mimo że nie całkiem zadziałała, ponieważ dał doskonałe, szczegółowe instrukcje i ponieważ jego sugestia użycia plutilostatecznie wskazała mi właściwy kierunek. Kompletne, działające rozwiązanie znajduje się tutaj w pytaniu, ponieważ nie mam wystarczającej reputacji, aby edytować zaakceptowaną odpowiedź.

Aktualizacja nr 2: Zmieniono procedurę ilustrującą technikę ekl , co znacznie upraszcza całość, eliminując potrzebę użycia pośredniego skryptu powłoki:

Kompletne rozwiązanie:

1. Otwórz Terminal i zrób kopię zapasową domyślnej listy Apple dynamic_pager.plist:

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

2. Konwertuj plist z binarnego na zwykły XML:

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

3. Otwórz przekonwertowany plist w dowolnym edytorze tekstu. (Używam pico, patrz odpowiedź dblu na przykład przy użyciu vim):

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

Powinno to wyglądać następująco:

<?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. Zmodyfikuj tablicę ProgramArguments (wiersze od 13 do 18), aby użyć polecenia powłoki wait4path (zgodnie z sugestią ZILjr ) przed uruchomieniem programu dynamic_pager. Zobacz notatkę nr 1, aby dowiedzieć się, dlaczego jest to konieczne. W poniższym przykładzie moja partycja nazywa się „Zamień” i zdecydowałem się umieścić pliki wymiany w ukrytym katalogu na tej partycji, o nazwie „.vm” , aby upewnić się, że podany katalog rzeczywiście istnieje . XML powinien wyglądać następująco:

<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. Zapisz listę i wróć do monitu terminalu. Za picopomocą poleceń będzie:

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

6. Konwertuj zmodyfikowany plist z powrotem na binarny:

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

7.Uruchom ponownie komputer Mac. Jeśli napotkasz problemy, przełącz się na pełny tryb uruchamiania, przytrzymując Command-v natychmiast po gongu uruchamiania. Dzięki temu zobaczysz wszystkie komunikaty startowe, które pojawiają się podczas uruchamiania. Jeśli napotkasz jeszcze gorsze problemy (tzn. Nigdy nie widzisz ekranu logowania), zamiast tego przytrzymaj klawisze Command-s. Spowoduje to uruchomienie komputera w trybie pojedynczego użytkownika (bez graficznego interfejsu użytkownika, tylko wiersz polecenia) i umożliwi przywrócenie kopii zapasowej com.apple.dynamic_pager.plist utworzonej w kroku 1.

8. Po uruchomieniu komputera uruchom Terminal i sprawdź, czy pliki wymiany zostały faktycznie przeniesione:

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

Powinieneś zobaczyć coś takiego:

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

9. Usuń stare pliki wymiany:

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

10. Zysk!

Notatka 1

Modyfikowanie argumentów na dynamic_pager w plist bez użycia wait4pathnie zawsze działa, a gdy zawiedzie, robi to w spektakularnie cichy sposób. Problem wynika z faktu, że dynamic_pager jest uruchamiany bardzo wcześnie w procesie uruchamiania. Jeśli twoja partycja wymiany nie została jeszcze zamontowana, gdy ładowany jest dynamiczny pager (z mojego doświadczenia wynika, że ​​zdarza się to w 99% przypadków), wtedy system przejdzie pomyślnie. Stworzy symboliczne łącze w twoim katalogu / Volumes, które ma taką samą nazwę jak twoja partycja wymiany, ale wskazuje na domyślną lokalizację pliku wymiany (/ private / var / vm). Następnie, gdy twoja rzeczywista partycja wymiany zostanie zamontowana, otrzyma nazwę Swap 1(lub YourDriveName 1). Możesz zobaczyć problem, otwierając Terminal i wyświetlając zawartość katalogu / Volumes:

$ cd /Volumes
$ ls -l

Zobaczysz coś takiego:

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 -> /

Pamiętaj, że ta awaria może być bardzo trudna do wykrycia. Gdybyś sprawdził pliki wymiany, jak pokazałem w kroku 12, nadal byś je zobaczył ! Łącze symboliczne sprawiałoby wrażenie, jakby Twoje pliki wymiany zostały przeniesione, nawet jeśli faktycznie były przechowywane w domyślnej lokalizacji.

Uwaga 2

Początkowo nie mogłem tego uruchomić w systemie Snow Leopard, ponieważ com.apple.dynamic_pager.plist był przechowywany w formacie binarnym. Zrobiłem kopię oryginalnego pliku i otworzyłem go za pomocą edytora listy właściwości Apple (dostępnego z Xcode) w celu wprowadzenia zmian, ale proces ten dodał pewne rozszerzone atrybuty do pliku plist, co spowodowało, że system go zignorował i po prostu użył wartości domyślnych . Jak zauważył dblu, użycie plutildo konwersji pliku na zwykły XML działa jak urok.

Uwaga 3

Możesz sprawdzić aplikację konsoli, aby zobaczyć wszelkie komunikaty, które dynamiczny_pager_init odbijają się na ekranie. Jeśli widzisz następujące wiersze powtarzane w kółko, oznacza to problem z konfiguracją. Natknąłem się na te wiadomości, ponieważ zapomniałem utworzyć katalog „.vm”, który określiłem w pliku dynamic_pager_init.

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

Gdy wszystko działa poprawnie, powyższy komunikat może zostać wyświetlony tylko kilka razy, a następnie nie będzie już więcej komunikatów „Ograniczanie odradzania”. Oznacza to, że system musiał czekać na załadowanie partycji, ale ostatecznie się udało.

e.James
źródło
Jestem naprawdę ciekawy, dlaczego chcesz to zrobić?
BinaryMisfit
Dla małych zysków wydajności. Lubię utrzymywać dyski twarde podzielone na partycje zgodnie z użytkowaniem. Mam jedną partycję na system operacyjny i aplikacje, jedną na folder użytkowników, jedną na dokumenty, jedną na multimedia (muzykę, filmy itp.) I jedną na pliki wymiany. Z mojego doświadczenia wynika, że ​​oddzielenie plików wymiany od reszty systemu utrzymuje niską fragmentację dysku. Preferuję wymianę na dedykowanym dysku, ale zwykle wystarcza inna partycja.
e.James
4
Wystarczająco sprawiedliwie - jednak partycje na tym samym dysku w rzeczywistości powodują więcej pracy dla samego dysku, jednak partycje na różnych dyskach zapewniają wzrost wydajności. Dysk twardy musi wykonać więcej pracy podczas przeskakiwania między partycjami na jednym dysku. Pytam tylko dlatego, że muszę mieć problemy z fragmentacją i wydajnością na moim Macu po prawie 2 latach użytkowania od razu po wyjęciu z pudełka, a kiedy widzę te posty, interesują mnie.
BinaryMisfit
1
Nie jestem pewien, dlaczego nie mogę opublikować odpowiedzi ( 101 powtórzeń, które - jeśli pamiętam matematykę - to więcej niż 10, których wymaga stan chroniony) , ale znalazłem wait4pathnierozwiązanie, dzięki temu, co Applicorn ma Xupport zmodyfikowany dla mnie. Opublikuję pełną odpowiedź, kiedy wymyślę, jak to zrobić, ale w skrócie należy zmienić ostatni argument programu na nową ścieżkę (np. <string>/Volumes/swap/.vm/swapfile</string>), Zmienić OnDemandklucz na <true/>i dodać StartOnMountklucz na końcu o wartości z <true/>. PS To rozwiązanie działa dobrze w Lionie (przynajmniej dla mnie).
Slipp D. Thompson
1
@Poślizg Douglas: Wygląda mi to legalnie. StartOnMountFlaga dodano 10,5 zgodnie z: mactech.com/articles/mactech/Vol.25/25.10/...
e.James

Odpowiedzi:

10

UWAGA : Zobacz (także) poprawioną / poprawioną odpowiedź w samym pytaniu.


Dla mnie zadziałało następujące rozwiązanie:

Otwórz terminal i kopię zapasową com.apple.dynamic_pager.plist, którą zamierzasz zmienić za sekundę:

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

przekonwertować binarny plist na xml:

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

i otwórz go w swoim ulubionym edytorze tekstu

$ sudo vim com.apple.dynamic_pager.plist

będzie wyglądać mniej więcej tak:

 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>

W wierszu 17 zmodyfikuj / private / var / vm / swapfile (np. / Volumes / partition2 / swapfile), zapisz i zamknij edytor („: x” zrobi oba w vimie).

przekonwertować plik Plist z powrotem na binarny:

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

Po ponownym uruchomieniu komputera Mac powinieneś znaleźć pliki wymiany w podanym katalogu.

Jeśli napotkasz jakiekolwiek problemy, możesz przywrócić kopię zapasową utworzoną w pierwszym kroku za pomocą:

$ cd / System / Library / LaunchDaemons
$ sudo cp com.apple.dynamic_pager.plist {_bak,}
dblu
źródło
Czy jesteś pewien, że plik wymiany jest rzeczywiście przenoszone do partycji z tej konfiguracji? Kiedy próbowałem tego podejścia pierwotnie, dynamiczny pager ładował się przed zamontowaniem partycji dodatkowych. System udałby się, tworząc symboliczne łącze do partycji 2 w katalogu / Volumes, który po prostu wskazywał na / private / var / vm. Możesz zidentyfikować awarię, wykonując ls -al w katalogu / Volumes, w którym zobaczysz zarówno „partycja2” (dowiązanie symboliczne), jak i „partycja2 1” (twoja partycja).
e.James
Tak czy inaczej +1 za technikę konwersji plików plist do i z formatu binarnego. com.apple.dynamic_pager.plist był w formacie zwykłego tekstu w wersji 10.5.x, ale w formacie binarnym od 10.6. Co jest częścią mojego problemu. Modyfikowałem pliki plist za pomocą aplikacji Edytor list właściwości dostarczanej z Xcode i być może dlatego coś nie działało. Spróbuję Plutil i zobaczę, czy to mnie jeszcze nie posunie.
e.James
W tej chwili nie mogę go przetestować z inną partycją, jednak podczas moich testów stworzyłem dynamiczny program do tworzenia plików wymiany na pendrivie za pomocą powyższej techniki.
dblu
Udało mi się sprawić, że oryginalna technika zadziałała, dzięki twojej sugestii zastosowania plutildo konwersji. W pytaniu opublikowałem kompletne rozwiązanie (ponieważ nie mam wystarczającej liczby przedstawicieli, aby dodać je do swojej odpowiedzi). Zobacz moją notatkę nr 1, aby uzyskać szczegółowy opis problemów, na które natrafiłem po prostu podczas modyfikowania listy odtwarzania.
e.James
W każdym razie dziękuję za odpowiedź. Złożyłeś doskonały zestaw instrukcji i wskazałeś mi właściwy kierunek, więc oznaczyłem go jako zaakceptowany. Twoje zdrowie! :)
e.James
3

Przyjąłem ten pomysł i poszedłem trochę dalej, odnosząc się do strategii wzrostu i odzyskiwania.

Szczegóły na stronie http://www.crypticide.com/dropsafe/article/3848 ; Zamieściłbym link do strony projektu GoogleCode „dynamicpagerwrapper”, ale blog mówi mi, że nie mam wystarczającej liczby punktów reputacji ...


źródło
1
+1 Świetne rzeczy! Próbuję tego teraz. Oto link do projektu GoogleCode: code.google.com/p/dynamicpagerwrapper
e.James
upewnij się, że używasz co najmniej wersji 8 skryptu: code.google.com/p/dynamicpagerwrapper/source/browse/trunk/…
3

tylko pytanie: dlaczego nie po prostu edytować dodawanie pliku .plist wait4path, zamiast używać pośredniego dynamic_pager_init?

coś takiego:

EDYCJA: jak wyjaśniono w komentarzu e.Jamesa i mojego następnego komentarza, bezpośrednio następujący blok XML nie jest dobry, zarówno dlatego, że występuje błąd (brak &&), jak i ponieważ tylko pierwszy argument tablicy ProgramArguments jest analizowany jako program do uruchomienia !

ale .. (przewiń w dół)

 ...
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>
 ...

koniec niewłaściwego bloku XML


ten blok XML powinien zamiast tego działać:

   ...
    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>
     ...

pamiętaj, że wciąż nie miałem dość czasu, aby bezpiecznie wypróbować to ustawienie, ale próbowałem uruchomić różne inne polecenia powłoki uruchomione w ten sam sposób i wszystko powinno działać zgodnie z oczekiwaniami

Jak to działa:

base: wykonanie wait4path /path && commandoznacza, że commandjest uruchamiany tylko wtedy, gdy wait4pathkończy się i kończy bez błędów, a dzieje się tak tylko wtedy, gdy /pathjest dostępna ścieżka, dzięki czemu możemy bezpiecznie powiedzieć, dynamic_pageraby użyć tego woluminu do plików wymiany

1) jak napisano na stronie launchd.plistpodręcznika, klucze Programi ProgramArgumentssą odwzorowane na execvpwywołanie, co oznacza, że ​​wszystko oprócz pierwszego ciągu w tablicy jest traktowane jako argument dla pierwszego ciągu w tablicy, programu do uruchomienia;

2) jak napisano na stronie bashpodręcznika, istnieje bash -c <string>możliwość uruchomienia ciągu przekazanego jako polecenie

1 + 2 = 3) co dzieje się przy użyciu tego wiersza poleceń w uruchomionej liście?

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

/bin/bashjest programem do uruchomienia, -cjest pierwszym argumentem, a ciąg cudzysłowu jest drugim argumentem

Myślę, że powinno działać dokładnie tak, jak twoje rozwiązanie, bez pośredniego skryptu: launchduruchomi usługę, która zaczeka na podaną ścieżkę, a następnie uruchomi się dynamic_pager.

Należy pamiętać, że:
* ciąg, który chcesz wykonać należy podwójnie cytowany jeśli uruchomić bash -cw terminalu, ale to nie podwójnie cytowany w pliku plist! (chyba, że ​​jest już zadeklarowany jako ciąg z odpowiednim znacznikiem)
* dwa &w ciągu muszą zostać zmienione na &amp;w pliku plist

PS: jak zawsze, postępuj na własne ryzyko, nie biorę odpowiedzialności za problemy, które możesz mieć przy użyciu tego ustawienia!

dzięki za udostępnienie nam swojej pracy

ekl
źródło
To ciekawy pomysł. Nie jestem pewien, czy umieszczenie więcej niż jednego programu w ProgramArgumentstablicy jest „legalne” , ale na pewno warto spróbować. Wypróbowałeś to?
e.James
Niestety, w moim poprzednim poście wystąpił błąd, moim pomysłem było uruchomienie następującego wiersza polecenia (zwróć uwagę na brakujący &&): wait4path / Volumes / Swap / && / sbin / dynamic_pager -F /Volumes/Swap/.vm/swapfile jeśli ktoś znajdzie sposób na „sformatowanie” tej linii, tak aby uruchomiona jej się spodobała, myślę, że powinna ona działać (myślę o tym, może wywołując / bin / bash przekazując resztę jako argumenty?); więcej objaśnień dotyczących pól Program i Argumenty programu jest dostępnych na stronie manuala launchd.plist, co doprowadzi do strony manuala execvp (3). Czytam i myślę, jeśli ktoś jest szybszy, proszę
pisać
zredagowałem poprzedni post z rozwiązaniem, które powinno działać, proszę o komentarz, jeśli zauważysz jakiś błąd lub coś, co może nie działać poprawnie, dzięki!
ekl
Wypróbowałem to na moim laptopie i wydaje się, że działa. Przez kilka dni będę mieć na to oko, ale wygląda na to, że znacznie uprościłeś cały proces! :)
Dobra
Twoja uproszczona metoda działa jak urok na moim laptopie. Dziękuję Ci! Zaktualizuję główne pytanie, aby uwzględnić Twoje rozwiązanie.
e.James
2

Wiem, że minęło trochę czasu, odkąd ten artykuł został napisany, ale pomyślałem, że dodam tutaj swój mały przedmiot dla tych, którzy również chcą to zrobić…

Użyłem powyższej sztuczki, aby przenieść moje pliki wymiany na inny dysk wewnętrzny (moim dyskiem rozruchowym jest dysk SSD z układami MLC, więc przeniesienie vm może zaoszczędzić długość życia). W każdym razie po utworzeniu nowego woluminu miałem wolumin wymiany w Finderze, którego nigdy nie zamierzam używać w samym Finderze, więc postanowiłem uczynić ten wolumin niewidocznym dla Findera. Potrzebujesz zainstalowanego zestawu narzędzi programistycznych Apple. Następnie wpisz:

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

… I zamień / Volumes / Swap na cokolwiek, jak nazwałeś swój wolumin. Uruchom ponownie Findera i presto, nie zamieniaj już wolumenu w Finderze!

Michael Spurlock
źródło
1

Możesz użyć wait4path, aby poczekać na podłączenie woluminu; w przeciwnym razie uruchomiona ponownie uruchomi skrypt dynamic_pager_init w kółko, dopóki ...

ZILjr
źródło
Znakomity! Użyłem wait4pathzamiast kombinacji if/ grepi to całkiem ładnie czyści. Dziękuję za wskazówkę.
e.James
1

Może możemy użyć Xupport, aby wykonać dla nas tę brudną robotę :) http://www.applicorn.com/

Optymalizator pamięci wirtualnej:

Zmień lokalizację plików wymiany W systemie Mac OS X informacje o pamięci wirtualnej są przechowywane w tak zwanych „plikach wymiany”. Ponieważ pliki wymiany są najbardziej interaktywnymi plikami systemowymi, warto umieścić je na osobnej partycji. Zaleca się przechowywanie plików wymiany na pierwszej partycji najszybszego wewnętrznego dysku twardego. Zalecany minimalny rozmiar partycji powinien być około 3 lub 4 razy większy niż fizyczny rozmiar wbudowanej pamięci (np. 1 GB pamięci fizycznej = 4 GB partycji wymiany). Zalecenia i instrukcje dotyczące optymalnej wydajności systemu:

1. Ponownie podziel dysk na partycje z woluminem wymiany jako PIERWSZA partycja (przy użyciu instalacyjnej płyty DVD z systemem Mac OS X). OSTRZEŻENIE: PONOWNE UDZIAŁYWANIE DYSKU TWARDEGO ZŁOŻY WSZYSTKIE ISTNIEJĄCE DANE!

2. Przywróć dane systemowe lub zainstaluj nowy system na partycji systemowej.

3. Uruchom komputer z partycji systemowej.

4. Jeśli chcesz, aby wolumin wymiany był niewidoczny dla Findera: • Uruchom Xupport i wybierz „Ustawienia” • Włącz „Pokaż ukryte pliki i foldery” i uruchom ponownie Findera • Zmień nazwę woluminu wymiany z „zamień” na „.swap” (Kropka czyni go niewidocznym dla Findera) • Wyłącz „Pokaż ukryte pliki i foldery” i uruchom ponownie Findera

5. Wybierz nową partycję wymiany w „Swap Storage Volume”. Następnie naciśnij przycisk „Ustaw”, aby zastosować nowe ustawienia lokalizacji pliku wymiany (wymagane ponowne uruchomienie).

BTW, to działa dla mnie. Snow Leopard 10.6.2 @ Macbook Pro 2,4 GHz, 4 GB RAM, 500 GB HD


źródło
Wygląda obiecująco. Dziękujemy za link i szczegółowe instrukcje!
e.James
applorn.com - 404
pkoch
1

Jest to najprawdopodobniej niechciana odpowiedź (ponieważ nie mogę komentować po Diago), ale dlaczego tak naprawdę nalegasz, że da to niewielki wzrost wydajności? Przeszedłem dyskusję na forach Apple i doszedłem do wniosku, że to wcale nie jest dobry pomysł. Byłem bardzo odporny na porzucenie go. Czy mógłbyś wymyślić dane potwierdzające to przynajmniej dla siebie, czy może to tylko „uczucie”?

Za każdym razem, gdy używałem wymiany nawet na Linuksie, sprzed 10 lat, a obecnie na Ubuntu, nigdy nie widziałem poprawy wydajności. Powodem, dla którego tego chciałem, było zapobieganie problemom z wolnym miejscem w OSX i, w Linuksie, z możliwości hibernacji. To wszystko dla mnie.

Ale tak naprawdę nigdy nie przeprowadzałem głębszych badań, ani samodzielnie, ani w interwebach.

Cregox
źródło
To ważna krytyka. Nie mam danych na poparcie moich roszczeń :)
e.James
Fajne. Więc w końcu możesz zrezygnować z przechodzenia przez te wszystkie kłopoty! : P
cregox
1

To nie jest odpowiedź, ale być może bardzo przydatny suplement uzupełniający. Apple udostępnia tutaj darmowy edytor list PlistEdit Pro . Pozwala bezpiecznie edytować te pliki. Wygląda na to, że możesz po prostu zmienić argument o wartości / private / var / vm / swapfile na coś takiego jak / Volumes / OtherDrive / vm / myswapfilename, aby przenieść pliki wymiany gdzie indziej ...

Znów nie testowałem tego ...

Jesse
źródło
To dobra myśl i pierwszą rzeczą, od której zacząłem, kiedy zszedłem tą drogą. Problem polega na tym, że partycja wymiany nie zawsze jest montowana w momencie uruchomienia dynamicznego pagera. Zobacz notatkę nr 1 w samym pytaniu, aby uzyskać szczegółowe informacje na temat tego, co mam na myśli.
e.James