not: SuperUser'dan kopyalandı:
OSX'in eski sürümleri için forums.macosxhints.com adresinde bu konuya bakın.
Kredi gider dblu kullanımını açıklayan plutil
, ZILjr tanıştırmak için wait4path
komutu ve EKL ve benzeri yazarları bir ara kabuk komut dosyası ihtiyacını ortadan kaldırarak her şeyi basitleştirmek için.
Tam çözüm:
1. Terminal'i açın ve Apple'ın varsayılan dynamic_pager.plist'in bir yedek kopyasını alın:
$ cd /System/Library/LaunchDaemons
$ sudo cp com.apple.dynamic_pager.plist{,_bak}
2. Plist'i ikiliden düz XML'e dönüştürün:
$ sudo plutil -convert xml1 com.apple.dynamic_pager.plist
3. Dönüştürülmüş düzeneği seçtiğiniz metin editörünüzle açın. ( pico
Kullanıyorum, dblu'nun cevabını kullanarak bir örnek için bakınız vim
):
$ sudo pico -w com.apple.dynamic_pager.plist
Aşağıdaki gibi görünmeli:
<?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.wait4path
dynamic_pager'ı başlatmadan önce shell komutunu kullanmak için ProgramArguments dizisini (satır 13 - 18) değiştirin . Bunun neden gerekli olduğuna ilişkin detaylar için not 1'e bakınız. Aşağıdaki örnekte Swap
bölümüm çağrılıyor ve takas alanlarını bu bölümdeki gizli bir dizine koymayı seçtim, adlandırdığınız .vm
dizinin gerçekten bulunduğundan emin olun . XML aşağıdaki gibi görünmelidir:
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>/bin/wait4path /Volumes/Swap/ &&
/sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile</string>
</array>
5. Çubuğu kaydedin ve terminal istemine geri dönün. Kullanarak pico
, komutlar şöyle olurdu:
<ctrl+o> to save the file
<enter> to accept the same filename (com.apple.dynamic_pager.plist)
<ctrl+x> to exit
6. Değiştirilen pist'i tekrar ikili dosyaya dönüştürün:
$ sudo plutil -convert binary1 com.apple.dynamic_pager.plist
7. Mac'inizi yeniden başlatın. Başınız belaya girerse, başlangıç zilinden hemen sonra Command-v tuşunu basılı tutarak ayrıntılı başlangıç moduna geçin. Bu, başlangıç sırasında görüntülenen tüm başlangıç iletilerini görmenizi sağlar. Daha da kötüsü ile karşılaşırsanız (örneğin, giriş ekranını hiç görmezsiniz), bunun yerine Command tuşlarını basılı tutun. Bu, bilgisayarı tek kullanıcılı modda önyükler (grafik kullanıcı arabirimi yok, yalnızca bir komut istemi) ve 1. adımda yaptığınız com.apple.dynamic_pager.plist dosyasının yedek kopyasını geri yüklemenizi sağlar.
8. Bilgisayar önyüklendikten sonra Terminal'i ateşleyin ve takas dosyalarının gerçekten taşındığını doğrulayın:
$ cd /Volumes/Swap/.vm
$ ls -l
Böyle bir şey görmelisin:
-rw------- 1 someUser staff 67108864 18 Sep 12:02 swapfile0
9. Eski takas dosyalarını silin:
$ cd /private/var/vm
$ sudo rm swapfile*
10. Kar!
Not 1
Argümanlardaki kullanmadan dinamik_pager parametresini değiştirmek wait4path
her zaman işe yaramaz ve başarısız olduğunda bunu olağanüstü sessiz bir şekilde gerçekleştirir. Sorun, dynamic_pager'ın başlangıç işleminde çok erken başlatılmasından kaynaklanıyor. Takas bölümünüz henüz dynamic_pager ilk yüklendiğinde henüz monte edilmediyse (deneyimlerime göre, bu zamanın% 99'u oluyor), o zaman sistem kendi yolunu izleyecektir. / Ciltler dizininde, takas bölümünüzle aynı ada sahip, ancak varsayılan takas dosyası konumuna (/ private / var / vm) işaret eden sembolik bir bağlantı oluşturur. Ardından, gerçek takas bölümünüz monte edildiğinde, ona ad Swap 1
(veya YourDriveName 1
) verilir. Terminal'i açıp / Volumes dizininizin içeriğini listeleyerek sorunu görebilirsiniz:
$ cd /Volumes
$ ls -l
Bunun gibi bir şey göreceksiniz:
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 -> /
Bu hatanın tespit edilmesinin çok zor olabileceğini unutmayın . 12. adımda gösterdiğim gibi swapfilfilerine bakacak olsanız, hala göreceksiniz ! Sembolik bağlantı, takas dosyalarınız taşınıyormuş gibi görünmesini sağlar, aslında varsayılan konumda depolanmış olsalar bile.
Not 2
Com.apple.dynamic_pager.plist ikili biçimde saklandığından başlangıçta bunun Snow Leopard'da çalışmasını sağlayamadım. Orijinal dosyanın bir kopyasını yaptım ve değişiklik yapmak için Apple'ın Özellik Listesi Düzenleyicisiyle (Xcode ile mevcut) açtım, ancak bu işlem sistemin onu görmezden gelmesine ve sadece varsayılanları kullanmasına neden olan plist dosyasına bazı genişletilmiş özellikler ekledi . Dblu'nun işaret ettiği gibi plutil
, dosyayı düz XML'e dönüştürmek bir tılsım gibi çalışır.
Not 3
Konsol uygulamasını, dynamic_pager_init ekrana yansıyan mesajları görmek için kontrol edebilirsiniz. Aşağıdaki satırların tekrar tekrar tekrarlandığını görüyorsanız, kurulumda bir sorun vardır. Bu mesajları koştum, çünkü dynamic_pager_init'te belirttiğim '.vm' dizinini oluşturmayı unuttum.
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
Her şey düzgün çalıştığında, yukarıdaki mesajı yalnızca birkaç kez görebilir ve daha sonra "Throttling respawn" mesajlarından daha fazlasını göremezsiniz. Bu, sistemin bölmenin yüklenmesini beklemek zorunda kaldığı, ancak sonuçta başarılı olduğu anlamına gelir.
Yolu Time Machine'den dışla
OS X 10.7 ve sonraki sürümlerinde bunu tmutil ile yapabilirsiniz . Örnek:
sudo tmutil addexclusion -p /Volumes/Swap/.vm
Bu örnekte, sonucu incelemek için:
tmutil isexcluded /Volumes/Swap && tmutil isexcluded /Volumes/Swap/.vm
Değişim için kullanılan hacmin endekslenmesi gerekmiyorsa
Mdutil kullanın . Örneğin, kapatıp ardından mağazayı silmek için:
sudo mdutil -i off /Volumes/Swap && sudo mdutil -E /Volumes/Swap
/private/var/vm/sleepimage
Süper Kullanıcı: Meli I OS X Lion başka bir birime benim / özel / var / vm dir sembolik köprüyü? (2011-09-20) - Hem harici takas dosyaları hem de uyku görüntüleri için aynı ayrı birimin kullanılmamasını öneren bir cevap var.