
Plik wymiany - pamięć wirtualna
#1
Napisano 16 czerwca 2008 - 19:31
#2
Napisano 16 czerwca 2008 - 19:43

#3
Napisano 16 czerwca 2008 - 21:26
#4
Napisano 16 czerwca 2008 - 21:31
#5
Napisano 16 czerwca 2008 - 22:34
#6
Napisano 16 czerwca 2008 - 22:39
#7
Napisano 16 czerwca 2008 - 22:52
#8
Napisano 17 czerwca 2008 - 22:25

#9
Napisano 17 czerwca 2008 - 22:28
#10
Napisano 17 czerwca 2008 - 22:29
#11
Napisano 18 czerwca 2008 - 07:32

#12
Napisano 19 czerwca 2008 - 11:09
#13
Napisano 19 czerwca 2008 - 11:38
Ale jeśli bardzo chcesz przerzucić sobie swapa na inny dysk (dysk!), to używasz textedita, terminala i zaczynasz od zapisania kopii zapasowej pliku .rc:
sudo cp /etc/rc /etc/rc.kopia
Następnie kopiujesz sobie do textedita poniższy skrypt. Uwaga - w pierwszej linijce musisz zastąpić nazwę "Swap" nazwą dysku, który ma przechowywać Twój swap.
swapvolume=Swap RMRF_ITEMS="${swapdir}/swap*" if [ ! -d /Volumes/${swapvolume}/.Trashes ]; then swapcount=1 echo "Czekam na zamontowanie dysku ${swapvolume}..." while [ "$swapcount" -le 10 ]; do sleep 1 if [ -d /Volumes/${swapvolume}/.Trashes ]; then echo "${swapvolume} zamontowany po $swapcount sekundach." break fi swapcount=`expr $swapcount + 1` done fi if [ -d /Volumes/${swapvolume}/.Trashes ]; then swapdir=/Volumes/${swapvolume}/.vm echo "Swap uruchomiony na dysku ${swapdir}." else echo "Swap nie znalazł dysku ${swapvolume}, wracam na dysk startowy..." fi
Zapisujesz sobie ten skrypt na desktopie jako "rx.txt" i wracasz do terminala:
sudo cp ~/Desktop/rc.txt /etc/rc.swap sudo chown root:wheel /etc/rc.swap
Teraz pora na wyedytowanie /etc/rc, co musisz zrobić jako root:
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/rc
Poszukaj w otwartym pliku tej linii:
swapdir=/private/var/vm
I zaraz pod nią dodaj następujący fragment:
echo Usuwam $RMRF_ITEMS rm -rf $RMRF_ITEMS if [ -f /etc/rc.swap ]; then . /etc/rc.swap; fi # inserted locally
Teraz znajdź poniższy fragment:
f [ -f /etc/rc.swap ]; then . /etc/rc.swap; fi # inserted locally if [ "${NetBoot}" = "-N" ]; then sh /etc/rc.netboot setup_vm ${swapdir} fi if [ ! -d ${swapdir} ]; then echo "Creating default swap directory" mkdir -p -m 755 ${swapdir} chown root:wheel ${swapdir} else RMRF_ITEMS="${RMRF_ITEMS} ${swapdir}/swap*" fi echo Removing $RMRF_ITEMS rm -rf $RMRF_ITEMS if [ ${ENCRYPTSWAP:=-NO-} = "-YES-" ]; then encryptswap="-E" else encryptswap="" fi /sbin/dynamic_pager ${encryptswap} -F ${swapdir}/swapfile
wytnij go, a następnie wklej zaraz poniżej linii
[code/usr/sbin/update[/code]
Zapisz plik, reboot i gotowe. System powinien zacząć korzystać ze swapa na wskazanym przez ciebie na samym początku skryptu dysku. Jeśli go nie znajdzie albo dysk nie zdąży się zamontować przed uruchomieniem swapa przez system, nadal jako swapowy będzie działać dysk systemowy. Jeśli chcesz sprawdzić na jakim dysku masz swapa po uruchomieniu, w terminalu wpisujesz
ps -wax | grep dynamic_pager -m1
I teraz zastanów się, czy masz ochotę się w tym grzebać, skoro i tak używane przez ciebie programy mają swoje "pliki wymiany" niezależne od systemu.
Skrypt jest nieco zmienionym opisem z macosxhints. Powinien działać, ale gwarancji nie daję i robisz to na własną odpowiedzialność.
#14
Napisano 20 czerwca 2008 - 01:20
#15
Napisano 21 czerwca 2008 - 11:43
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych