Mac OS X Mavericks đóng băng, ngừng phản hồi khi hết bộ nhớ


9

Nó xảy ra mỗi ngày và các triệu chứng là kỳ lạ để nói rằng ít nhất. Máy tính vẫn phản hồi theo một nghĩa nào đó; Tôi có thể di chuyển chuột, các nút âm lượng trên tai nghe của tôi hoạt động. Họ bàn phím không làm mặc dù, cũng không nhấp. Không có trạng thái di chuột được trình bày. Như thể con trỏ chuột không thực sự di chuyển.

Tôi có thể sử dụng máy tính nếu tôi đăng nhập từ một máy tính khác bằng SSH hoặc sử dụng điều khiển từ xa từ điện thoại của tôi (tôi sử dụng Rowmote.) Tuy nhiên, nó rất chậm - nhưng nó đáp ứng.

Trong trạng thái này, tôi có thể làm rất ít thứ. Bắt đầu các ứng dụng mới là một roulette, ví dụ tôi có thể khởi động Activity Monitor (không thấy gì lạ) nhưng bắt đầu Console sau đó là không thể. Các ứng dụng đóng cho kết quả kỳ lạ cho đến khi cuối cùng nó cũng ngừng phản hồi với điều khiển từ xa. Thật thú vị, ứng dụng từ xa không nghĩ rằng nó đã bị mất kết nối nên bằng cách nào đó nó vẫn nhận và thừa nhận các lệnh từ xa.

Đây là /var/log/system.logđầu ra có liên quan từ thời điểm nó xảy ra:

Jan  3 10:39:19 knifen.local WindowServer[119]: CGXCreateShmem : mach_make_memory_entry(268453900: unknown error code) : Cannot map memory
Jan  3 10:39:19 knifen.local WindowServer[119]: _CGXCreateWindowInline: Creation failure 1007
Jan  3 10:39:19 knifen.local Dock[15204]: CGSNewWindowWithOpaqueShape: Cannot create window
Jan  3 10:39:19 knifen.local WindowServer[119]: CGXCreateShmem : mach_make_memory_entry(268453900: unknown error code) : Cannot map memory
Jan  3 10:39:19 knifen.local WindowServer[119]: _CGXCreateWindowInline: Creation failure 1007
Jan  3 10:39:19 knifen.local Dock[15204]: CGSNewWindowWithOpaqueShape: Cannot create window
Jan  3 10:39:28 knifen.local WindowServer[119]: BUG in libdispatch: 13A603 - 2930 - 0x1000480c
Jan  3 10:39:51 knifen kernel[0]: IOHIDSystem: postEvent LLEventQueue overflow.
Jan  3 10:40:50 knifen.local Spotify[13941]: Got disconnected: Error Domain=GCDAsyncSocketErrorDomain Code=4 "Read operation timed out" UserInfo=0xfa075f0 {NSLocalizedDescription=Read operation timed out}
Jan  3 10:40:55 knifen kernel[0]: IOHIDSystem: postEvent LLEventQueue overflow.
Jan  3 10:41:50 knifen.local hidd[95]: IOHIDEventQueue unable to get policy for event of type 11. (e00002e8)
Jan  3 10:41:56 --- last message repeated 113 times ---

Tôi không thực sự tự hỏi bất cứ điều gì ở đây, nếu bạn có lời khuyên tôi đoán rằng nó sẽ tốt. Nó có vẻ là kỹ thuật xấu về phần của Apple.

Câu trả lời:


4

Khi hệ điều hành bị bỏ đói trên đĩa, những điều tồi tệ xảy ra do thiết kế nhằm cố gắng giữ cho các phần quan trọng của hệ thống trực tuyến đủ lâu để xảy ra sự cố có kiểm soát và có khả năng để các ứng dụng thay đổi tồn tại cho đến khi hoạt động dọn dẹp bắt đầu

Mavericks ít có khả năng phân bổ toàn bộ lượng RAM cho / var / db / ngủ, do đó mọi người thường sử dụng không gian đó có thể gặp bất ngờ khi HĐH cần một phòng nhỏ để phát triển hình ảnh ngủ nếu điều kiện hoạt động sai.

Mẹo chính sẽ là duy trì vài gigabyte dung lượng trống trên ổ đĩa có thể khởi động khi bạn có khối lượng công việc làm căng hệ thống bộ nhớ ảo và chạy với áp suất bộ nhớ màu đỏ.

Dưới đây là khuyến nghị của tôi:

  • "Áp lực bộ nhớ" của Mavericks và Yosemite tuân theo quy mô hay thước đo nào? có một số thông tin tốt về giám sát và gây áp lực bộ nhớ lên lệnh
  • khởi động hệ thống của bạn, đăng nhập một người dùng, thoát khỏi tất cả các ứng dụng
  • mở màn hình hoạt động và quan sát / ghi lại màn hình bộ nhớ
  • Đặt máy ngủ và đánh thức nó sau 30 giây
  • chạy sudo du -sm /var/vm/*và lưu ý tệp hình ảnh ngủ của bạn lớn như thế nào cũng như liệu có bất kỳ tệp hoán đổi nào đã được tạo trên đĩa không.

Bạn sẽ muốn có đủ dung lượng lý tưởng trên đĩa trống để phù hợp với tổng dung lượng bộ nhớ nếu bạn có ý định chạy các chương trình đưa hệ thống bộ nhớ ảo vào lãnh thổ màu vàng để tạo áp lực bộ nhớ. Bạn có thể sẽ không cần tất cả không gian đó chỉ cho HĐH, nhưng đặc biệt nếu bạn gặp phải lỗi bộ nhớ mach như bạn đang liệt kê, khối lượng công việc bạn đang chạy cần thêm một chút không gian trống để phát triển hơn mức bạn cho phép.

Ngoài ra, nếu bạn cảm thấy điều chỉnh hệ thống không chính xác, bạn có thể dễ dàng báo cáo lỗi bằng cách chạy sysdiagnosesau khi khởi động sạch như mô tả ở trên, một lần nữa khi hệ thống đang chạy đúng khối lượng công việc dự định và lần sydiagnosechạy cuối cùng sau khi bạn gây ra bộ nhớ phân bổ để bắt đầu phá vỡ hệ thống. Có thể có những lựa chọn tốt hơn mà Apple có thể đã thực hiện, nhưng cũng có thể phần mềm của bạn bị lỗi / rò rỉ bộ nhớ và hệ thống bị phá vỡ như dự định khi tài nguyên hữu hạn đã cạn kiệt. Không có thêm chi tiết, thật khó để nói đó là trường hợp nào.


2

"shmem" là bộ nhớ dùng chung và OS X không thể phân bổ bộ nhớ dùng chung. Do đó, có vẻ như máy tính đã hết bộ nhớ, cả RAM và bộ nhớ ổ cứng. Đây có phải là trường hợp? Vào thời điểm đóng băng, dường như còn khoảng 1GB dung lượng.

  • Giải phóng không gian đĩa bằng cách xóa các tập tin
  • Giải phóng bộ nhớ bằng cách đóng ứng dụng

Trong trường hợp cụ thể này, các bản ghi sau đó chỉ ra rằng Spotlight đã cố gắng lập chỉ mục cho một khối lượng thưa thớt được gắn kết, dẫn đến việc đĩa sao lưu hết dung lượng.

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.