vm_compressor = Yosemite'deki VM_PAGER_DEFAULT fiziksel bellek dolduğunda donmaya neden oldu


11

Bellek sıkıştırma sık sık gecikmeye neden oldu, bu yüzden komutunu kullanarak kapatmayı denedim

sudo nvram boot-args="vm_compressor=1"

Gecikme gitti ama bazı bellek aç uygulamalar açtığımda donma çöktü. Dondurma sırasında bazı uygulamalardan çıkmak mümkün olmadı. Sadece fare imlecini hareket ettirebildim. 10 dakika sonra OSX vazgeçti ve kendini yeniden başlattı. OSX'in belleği yetersiz görünüyordu. Varsayılan çağrı cihazının takas kullanmadığı doğru mu?

Etkinlik Monitörü Bellek Durumu

Bu, OSX neredeyse çöktüğünde vm_stat 60'ın çıktısıdır. Bu sefer bazı uygulamalardan çıkmayı başardım.

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 

OSX sürümü ve derlemesi 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 düzeltmeyi reddetti. Bu Apple'ın cevabı.

Aşağıdakilere dayanarak bunu ele alma planı yoktur:

Bu yapılandırma artık desteklenmiyor.

Şimdi bu raporu kapatıyoruz.

Çözüm hakkında sorularınız varsa veya bu sizin için hala kritik bir sorunsa, lütfen hata raporunuzu bu bilgilerle güncelleyin.

Bu sorunu etkileyebilecek güncellemeler için lütfen yeni Apple sürümlerini düzenli olarak kontrol ettiğinizden emin olun.

Apple bunu desteklemediğinden , varsayılan çağrı cihazının takas kullanmadığı doğru mu?


@keithyip Cevabı burada okudunuz mu?
klanomath


1
Yorumlar uzun tartışmalar için değildir; bu görüşme sohbete taşındı .
bmike

Yanıtlar:


4

Sorun şu ki, disk belleği aslında kapalı değil, bu mod 1 artık standart bellek yönetiminin bir uygulaması değil, bunun yerine neredeyse tüm aktif belleği "kablolu" yaparak sıkıştırmayı önleyen, dolayısıyla sıkıştırmayı önleyen ama bir kenara takas olarak çirkin bir saldırı .


İlginç, ama oylamadan önce destekleyici kanıt görmek istiyorum. Açık kaynaklı bir şey olabilir mi?
Graham Perrin

1
Bu çok mantıklı. Bu şekilde kırabileceğim bir sistemim yok - belki biraz VM'yi biraz döndürdüğümde, El Capitan'ı "kırmayı" deneyeceğim ve ne öğrenebileceğimi göreceğim. Uygulamada, Apple'ın VM'sine hiç karışmam ve bunun yerine yalnızca çalıştığım uygulamaları ayarlamam ya da üretken kalmak için başka bir darboğazı ortadan kaldırmam gerekmedi.
bmike

@GrahamPerrin henüz daha kolay, mod 1'i ayarlayın, Etkinlik Monitörünü çalıştırın, "Kablolu Bellek" ve "Kullanılan Bellek" e bakın. Dava kapandı.
tolgraven

3

OSX Mavericks'te VM sıkıştırmasını da ( vm_compressor=1boot-arg ve yeniden başlatma yoluyla) kapatmıştım , çünkü yüksek RAM VMWare Fusion konuk kullanırken bazı çok yavaş oturumlarda rol oynamıştı. Mavericks'te her şey iyi görünüyor, sıkıştırma yok ama yine de beklenen sayfalama.

OSX Yosemite (10.10.4) sürümüne geçtikten sonra, açıkladığınız gibi dondurma kilitlenmeleri alıyordum. (Özellikle, yalnızca 10-15 dakikalık hafif bir web taramasından sonra fare / ekran / klavye donacaktır. Yaklaşık bir dakika sonra makine kendiliğinden yeniden başlatılır. davaları.)

Neyse ki, denediğim ilk şey VM sıkıştırmasını ( vm_compressor=4) yeniden etkinleştirmekti . Yosemite kullanımının ilk ~ 90 dakikasında 4 kazadan sonra, o zamandan bu yana 4 gün içinde herhangi bir çökme olmadı.

Bu yüzden onaylayabilirim: vm_compressor=1Yosemite'den önce işlevsel görünen ayar şimdi çökme gibi görünüyor. Bu değer için Mavericks ve ötesi gerçek varsayılan değer kullanılarak vm_compressor=4('VM_PAGER_COMPRESSOR_WITH_SWAP') düzeltildi gibi görünüyor.


1
vm_compressor=1boot-arg & reboot OS X 10.9 Mavericks'te çalışıyor ve OS X 10.10'da çalışmıyor Yosemite, merak ediyorum, OS X 10.11 El Capitan'da çalışacak mı?
Albert

1
vm_compressor=1O kadar kötüydü ki OS X 10.12 Sierra'dan başlayarak vm_compressor=1otomatik olarak vm_compressor=4çekirdeğin içine dönüştürülür . Bu cevaba bakınız .
Old Pro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.