vm_compressor = VM_PAGER_DEFAULT trong Yosemite gây ra đóng băng khi bộ nhớ vật lý đầy


11

Việc nén bộ nhớ gây ra độ trễ thường xuyên nên tôi đã thử tắt nó bằng cách sử dụng lệnh

sudo nvram boot-args="vm_compressor=1"

Độ trễ đã biến mất nhưng tôi đã bị đóng băng khi mở một số ứng dụng đói bộ nhớ. Trong quá trình đóng băng, không thể thoát một số ứng dụng. Tôi chỉ có thể di chuyển con trỏ chuột xung quanh. Sau vài phút, OSX chỉ cần bỏ cuộc và tự khởi động lại. Có vẻ như OSX đã hết bộ nhớ. Có đúng là máy nhắn tin mặc định không sử dụng trao đổi?

Giám sát hoạt động Trạng thái bộ nhớ

Đây là đầu ra của vm_stat 60 khi OSX gần như bị sập. Tôi quản lý để thoát một số ứng dụng lần này.

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 

Phiên bản và bản dựng OSX là 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 từ chối sửa nó. Đây là câu trả lời từ Apple.

Không có kế hoạch để giải quyết vấn đề này dựa trên những điều sau đây:

Cấu hình này không còn được hỗ trợ.

Chúng tôi hiện đang đóng báo cáo này.

Nếu bạn có thắc mắc về độ phân giải hoặc nếu đây vẫn là một vấn đề nghiêm trọng đối với bạn, thì vui lòng cập nhật báo cáo lỗi của bạn với thông tin đó.

Hãy chắc chắn kiểm tra thường xuyên các bản phát hành mới của Apple để biết bất kỳ bản cập nhật nào có thể ảnh hưởng đến vấn đề này.

Vì vậy, vì Apple không hỗ trợ điều này, tôi tự hỏi liệu có đúng là máy nhắn tin mặc định không sử dụng trao đổi không?


@keithyip Bạn đã đọc câu trả lời ở đây chưa?
klanomath


1
Bình luận không dành cho thảo luận mở rộng; cuộc trò chuyện này đã được chuyển sang trò chuyện .
bmike

Câu trả lời:


4

Vấn đề không phải là việc phân trang thực sự bị tắt mà chế độ 1 không còn là việc thực hiện quản lý bộ nhớ tiêu chuẩn mà thay vào đó là một hack xấu xí ngăn chặn việc nén bằng cách làm cho hầu hết tất cả bộ nhớ hoạt động "có dây", do đó ngăn chặn việc chuyển sang một bên .


Thú vị, nhưng tôi muốn xem bằng chứng hỗ trợ trước khi bỏ phiếu. Một cái gì đó trong nguồn mở, có thể?
Graham Perrin

1
Điều này làm cho rất nhiều ý nghĩa. Tôi không có một hệ thống mà tôi có thể phá vỡ theo cách này - có thể khi tôi quay một số VM một chút, tôi sẽ thử "phá vỡ" El Capitan và xem những gì tôi có thể học. Trong thực tế, tôi không bao giờ cần phải làm phiền với VM của Apple và thay vào đó chỉ điều chỉnh các ứng dụng tôi chạy hoặc loại bỏ một nút thắt khác để duy trì hiệu quả.
bmike

@GrahamPerrin dễ dàng hơn, đặt chế độ 1, kích hoạt Trình theo dõi hoạt động, xem "Bộ nhớ có dây" so với "Bộ nhớ được sử dụng". Trường hợp đóng cửa.
Tolgraven

3

Trong OSX Mavericks, tôi cũng đã tắt tính năng nén VM (thông qua vm_compressor=1boot-arg & restart), vì dường như nó có liên quan đến một số phiên rất chậm khi sử dụng máy khách VMWare Fusion RAM cao. Mọi thứ dường như hoạt động tốt trong Mavericks, không nén nhưng vẫn là phân trang dự kiến.

Sau khi nâng cấp lên OSX Yosemite (10.10.4), tôi đã gặp sự cố đóng băng tương tự như những gì bạn mô tả. (Cụ thể, chỉ sau 10 - 15 phút duyệt web nhẹ, chuột / màn hình / bàn phím sẽ đóng băng. Sau khoảng một phút nữa, máy sẽ tự động khởi động lại. Báo cáo sự cố sau khi khởi động lại đã đề cập đến sự kiện "theo dõi tiến trình" trong cả bốn các trường hợp.)

May mắn thay, điều đầu tiên tôi đã thử là kích hoạt tính năng nén VM ( vm_compressor=4). Sau 4 sự cố trong ~ 90 phút đầu tiên sử dụng Yosemite, đã không có sự cố nào trong 4 ngày kể từ đó.

Vì vậy, tôi có thể xác nhận: vm_compressor=1cài đặt có vẻ hoạt động trước Yosemite bây giờ có vẻ như bị lỗi. Sử dụng Mavericks và hơn cả mặc định thực tế cho giá trị này, vm_compressor=4('VM_PAGER_COMPRESSOR_WITH_SWAP'), dường như sẽ khắc phục.


1
vm_compressor=1boot-arg & restart hoạt động trong OS X 10.9 Mavericks và không hoạt động trong OS X 10.10 Yosemite, tôi tò mò, liệu nó có hoạt động trong OS X 10.11 El Capitan không?
Albert

1
vm_compressor=1tệ đến mức bắt đầu với OS X 10.12 Sierra, vm_compressor=1được tự động chuyển đổi sang vm_compressor=4bên trong kernel. Xem câu trả lời này .
Old Pro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.