Kompresja pamięci często powodowała opóźnienia, więc próbowałem ją wyłączyć za pomocą polecenia
sudo nvram boot-args="vm_compressor=1"
Opóźnienie zniknęło, ale zawiesiłem się, gdy otworzyłem niektóre aplikacje wymagające pamięci. Podczas zamrażania nie można było zamknąć niektórych aplikacji. Mogłem tylko poruszać kursorem myszy. Po kilku 10 minutach OSX po prostu poddał się i zrestartował. Wyglądało na to, że OSX nie ma pamięci. Czy to prawda, że domyślny pager nie używa wymiany?
To jest wynik vm_stat 60, gdy OSX prawie się zawiesił. Tym razem udało mi się zamknąć niektóre aplikacje.
Mach Virtual Memory Statistics: (page size of 4096 bytes)
free active specul inactive throttle wired prgable faults copy 0fill reactive purged file-backed anonymous cmprssed cmprssor dcomprs comprs pageins pageout swapins swapouts
4058 44827 4657 48725 1634771 1994370 18399 131709K 7262284 57729401 556707 234267 96668 1541 0 0 0 0 7562237 114241 0 0
9946 34459 3828 37655 1644905 2010562 5380 276137 9087 169197 23038 24071 75166 776 0 0 0 0 66041 2190 0 0
4849 19263 1147 20141 1687072 2051233 887 432193 13109 257173 25604 13480 40135 416 0 0 0 0 56827 4094 0 0
58504 23530 44743 21988 1585153 1947800 5595 129338 4993 72054 5776 58 86942 3319 0 0 0 0 81298 1083 0 0
4002 39171 38322 29484 1625825 1985636 7638 152421 5034 84976 1 24 101932 5045 0 0 0 0 60968 5 0 0
3953 41098 2953 39886 1649756 2008776 6047 128151 5709 70047 565 6361 82653 1284 0 0 0 0 60644 94 0 0
17900 37639 22066 40355 1619144 1978515 2208 126851 5895 55252 16022 5178 95881 4179 0 0 0 0 71205 1158 0 0
3618 46697 4240 51043 1631256 1991014 6082 157833 6794 84127 3 60 90901 11079 0 0 0 0 54852 206 0 0
Wersja i kompilacja OSX to 10.10.2 (14C109)
$ pmset -g
Active Profiles:
Battery Power -1
AC Power -1*
Currently in use:
standbydelay 4200
standby 0
womp 1
halfdim 1
hibernatefile /var/vm/sleepimage
sms 1
networkoversleep 0
disksleep 10
sleep 0 (sleep prevented by SubmitDiagInfo)
hibernatemode 3
ttyskeepawake 1
displaysleep 0
acwake 0
lidwake 1
$ nvram -p
tbt-options %00
efi-apple-payload0-data %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%02%1f%03%12%0a%00%00%00%00%00%00%00%04%01*%00%01%00%00%00(%00%00%00%00%00%00%00%00@%06%00%00%00%00%00%1b|%00%00-/%00%00%ea%0e%00%00%8aO%00%00%02%02%04%04H%00\%00E%00F%00I%00\%00A%00P%00P%00L%00E%00\%00F%00I%00R%00M%00W%00A%00R%00E%00\%00P%00o%00r%00t%00M%00i%00c%00r%00o%00.%00b%00i%00n%00%00%00%7f%ff%04%00
efi-boot-device <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>23B4430A-E749-440D-85DC-879D5DFFF3A4</string></dict></dict><key>BLLastBSDName</key><string>disk0s3</string></dict></array>%00
fmm-mobileme-token-FMM ...
SystemAudioVolumeDB %80
prev-lang:kbd en:0
EFICapsule_Result STAR
efi-apple-recovery <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>00007C1B-2F2D-0000-EA0E-00008A4F0000</string></dict></dict><key>BLLastBSDName</key><string>disk0s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\APPLE\FIRMWARE\MBP81_0047_27B_LOCKED.scap</string></dict></array>%00
efi-apple-payload1-data %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%02%1f%03%12%0a%00%00%00%00%00%00%00%04%01*%00%01%00%00%00(%00%00%00%00%00%00%00%00@%06%00%00%00%00%00%1b|%00%00-/%00%00%ea%0e%00%00%8aO%00%00%02%02%04%04T%00\%00E%00F%00I%00\%00A%00P%00P%00L%00E%00\%00F%00I%00R%00M%00W%00A%00R%00E%00\%00H%00P%00M%00-%00e%00m%00-%000%000%000%002%000%000%000%007%00.%00b%00i%00n%00%00%00%7f%ff%04%00
ThorUpdateResult %00%00%05%0e%01%03%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00
LocationServicesEnabled %01
fmm-computer-name MacBook Pro
backlight-level 3%01
efi-apple-payload1 <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>00007C1B-2F2D-0000-EA0E-00008A4F0000</string></dict></dict><key>BLLastBSDName</key><string>disk0s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\APPLE\FIRMWARE\HPM-em-00020007.bin</string></dict></array>%00
SmcFlasherResult %00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00
bluetoothActiveControllerInfo %1a%82%ac%05%00%00%000%11%fa(%cf%da%ef%ab%c5
efi-apple-payload0 <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>00007C1B-2F2D-0000-EA0E-00008A4F0000</string></dict></dict><key>BLLastBSDName</key><string>disk0s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\APPLE\FIRMWARE\PortMicro.bin</string></dict></array>%00
SystemAudioVolume %80
boot-args vm_compressor=1
efi-boot-device-data %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%02%1f%03%12%0a%00%00%00%00%00%00%00%04%01*%00%03%00%00%00h%8b/%25%00%00%00%00 _%13%00%00%00%00%00%0aC%b4#I%e7%0dD%85%dc%87%9d]%ff%f3%a4%02%02%7f%ff%04%00
boot-gamma %10%06%00%00%c5%9c%00%00%00%00%00%00%f2%00%00%00%00%00%00%00%13%00%c1%05%85%00C%0c%86%02%04%12%d6%05F%18/%0b%08!B%15%0c30.O<%1f9UUNSZk%ebh%1dv%f3r%a4%91%10%8a%a5%97%0d%92%a8%a3K%9ej%a9%17%a5%ad%b4%e4%b0%ae%b9]%b7%b3%ccG%cd%b7%dc%8b%dc%fd%f5)%f3%0f%00%01%06y%00%03%0d~%02%04%13%bb%05%06%19l%0a%08!%8c%12%8c3%0e)N;E1%1aj*]%1f%7f%c0o%a4%93y%80%a8%a3%f6%8f%ad%b5%c8%a2%b4%d1%1d%c4%ba%ea%bd%e0%fd%f6%fa%ef%14%00%01%06j%00%03%0d9%02%04%13%1d%05F%19r%09%08!v%10L2%00#%0e:]*%9ex%02^%a3%8eVoi%a6%ea%80%ad%b7w%90%f1%c4v%9d%f4%d1%a5%ab%b7%df8%bd%fb%ec%f7%ce}%f6%b6%dd%fe%f9%9a%e4%ff%fc%cf%ec%ff%fd]%f1%ff%fe%df%f7
bluetoothInternalControllerInfo %1a%82%ac%05%000%11%fa(%cf%da%ef%ab%c5
ls -laO /private/var/vm
total 8388608
drwxr-xr-x 3 root wheel - 102 Mar 20 23:13 .
drwxr-xr-x 27 root wheel - 918 Oct 20 10:34 ..
-rw------T 1 root wheel - 4294967296 Mar 20 22:16 sleepimage
Apple odmówił naprawy. To jest odpowiedź Apple.
Nie ma planów rozwiązania tego problemu na podstawie:
Ta konfiguracja nie jest już obsługiwana.
Zamykamy teraz ten raport.
Jeśli masz pytania dotyczące rozwiązania problemu lub jeśli nadal jest to dla Ciebie problem krytyczny, zaktualizuj swój raport o błędzie, podając te informacje.
Należy regularnie sprawdzać nowe wydania Apple pod kątem aktualizacji, które mogą wpłynąć na ten problem.
Skoro Apple tego nie obsługuje, zastanawiam się, czy to prawda, że domyślny pager nie korzysta z zamiany?
Odpowiedzi:
Problemem nie jest to, że stronicowanie jest faktycznie wyłączone, ale ten tryb 1 nie jest już implementacją standardowego zarządzania pamięcią, ale brzydkim hackem, który zapobiega kompresji, czyniąc prawie całą aktywną pamięć „okablowaną”, a tym samym zapobiegając kompresji, ale na bok również zamienia .
źródło
W OSX Mavericks wyłączyłem również kompresję VM (poprzez
vm_compressor=1
boot-arg i restart), ponieważ wydawało się to związane z niektórymi bardzo powolnymi sesjami, gdy korzystałem z gościa VMWare Fusion o dużej pamięci RAM. Wydawało się, że wszystko działa dobrze w Mavericks, bez kompresji, ale nadal oczekiwany stronicowanie.Po aktualizacji do OSX Yosemite (10.10.4) miałem awarie podobne do opisywanych. (W szczególności, po zaledwie 10-15 minutach lekkiego przeglądania Internetu, mysz / ekran / klawiatura zawiesiłyby się. Po około minucie maszyna spontanicznie się zrestartowała. Raport o awarii po ponownym uruchomieniu wspominał o zdarzeniu „watchdog postępu” we wszystkich czterech skrzynie.)
Na szczęście pierwszą rzeczą, którą próbowałem, było ponowne włączenie kompresji VM (
vm_compressor=4
). Po 4 awariach w ciągu pierwszych ~ 90 minut korzystania z Yosemite, od 4 dni nie było żadnych awarii.Mogę więc potwierdzić:
vm_compressor=1
ustawienie, które wydawało się funkcjonalne przed Yosemite, teraz wydaje się buggy.vm_compressor=4
Wydaje się, że użycie rzeczywistej wartości domyślnej Mavericks dla tej wartości („VM_PAGER_COMPRESSOR_WITH_SWAP”) wydaje się naprawiać.źródło
vm_compressor=1
boot-arg i reboot działa w OS X 10.9 Mavericks i nie działa w OS X 10.10 Yosemite, jestem ciekawy, czy to zadziała w OS X 10.11 El Capitan?vm_compressor=1
było tak złe, że począwszy od systemu OS X 10.12 Sierravm_compressor=1
jest automatycznie konwertowanevm_compressor=4
na jądro. Zobacz tę odpowiedź .