[apple] Mac OS X Mavericks가 멈추고 메모리가 부족할 때 응답하지 않습니다

격일로 발생하며 증상이 가장 이상하다는 것은 이상합니다. 컴퓨터는 여전히 어떤 의미에서 응답합니다. 마우스를 움직이면 헤드폰의 볼륨 버튼이 작동합니다. 키보드는 아무 것도하지 않으며 클릭도하지 않습니다. 호버 상태가 표시되지 않습니다. 마치 마우스 포인터가 실제로 움직이지 않는 것처럼 보입니다.

SSH를 사용하거나 휴대폰의 리모컨을 사용하여 다른 컴퓨터에서 로그인하면 컴퓨터를 사용할 수 있습니다 (Rowmote를 사용합니다). 매우 느리지 만 응답합니다.

이 상태에서는 할 수있는 일이 거의 없습니다. 새로운 응용 프로그램을 시작하는 것은 룰렛입니다. 예를 들어 Activity Monitor (이상한 것은 보이지 않음)를 시작할 수 있지만 그 후에 콘솔을 시작할 수는 없었습니다. 앱을 닫으면 마지막으로 리모컨에 대한 응답이 멈출 때까지 이상한 결과가 나타납니다. 흥미롭게도 원격 응용 프로그램은 연결이 끊어 졌다고 생각하지 않아서 원격 명령을 수신하고 확인했습니다.

/var/log/system.log발생한 순간 의 관련 출력 은 다음과 같습니다 .

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 ---

나는 여기에 아무것도 궁금하지 않습니다. 팁이 있다면 좋을 것입니다. 애플 측에서는 나쁜 엔지니어링 인 것 같습니다.



답변

OS에 디스크 공간이 부족한 경우 제어 된 충돌이 발생할 수 있도록 시스템의 중요한 부분을 온라인으로 오래 유지하고 정리 작업까지 변경 사항이있는 앱이 생존 할 수 있도록하기 위해 설계 상 나쁜 일이 발생합니다. 시작합니다.

매버릭스는 전체 용량의 RAM을 / var / db / sleepimage에 할당 할 가능성이 훨씬 적으므로, 운영 체제에 따라 수면 이미지를 증가시키기 위해 OS에 약간의 공간이 필요할 때 해당 공간을 미리 할당 한 사람들이 놀라 울 수 있습니다.

주요 팁은 가상 메모리 시스템에 스트레스를주고 메모리 압력이 빨간색으로 실행되는 작업 부하가있는 경우 부팅 가능한 볼륨에서 몇 기가 바이트의 여유 공간을 유지하는 것입니다.

내 추천은 다음과 같습니다.

  • 매버릭스와 요세미티의 “메모리 압력”은 어떤 규모 나 측정을 준수합니까? 명령에 대한 메모리 압력 모니터링 및 발생에 대한 좋은 정보가 있습니다.
  • 시스템 부팅, 한 명의 사용자 로그인, 모든 응용 프로그램 종료
  • 활동 모니터를 열고 메모리 화면을 관찰 / 기록하십시오
  • 기계를 잠자 게하고 30 초 후에 깨우십시오
  • 실행 sudo du -sm /var/vm/*하고 수면 이미지 파일의 크기와 스왑 파일이 디스크에 생성되었는지 여부를 확인하십시오.

가상 메모리 시스템을 메모리 부족으로 인해 노란색 영역으로 이동시키는 프로그램을 실행하려는 경우 총 메모리 공간과 일치하도록 디스크에 여유 공간이 충분해야합니다. 아마도 OS에만 필요한 공간이 필요하지는 않지만 특히 목록과 같은 마하 메모리 오류가 발생하는 경우 실행중인 작업 부하가 허용하는 것보다 약간 더 많은 여유 공간이 필요합니다.

또한 시스템 조정이 잘못되었다고 생각되면 sysdiagnose위에서 설명한대로 클린 부팅 후 시스템이 의도 한 워크로드를 올바르게 sydiagnose실행하고 메모리를 한 번만 마지막으로 실행하면 버그 보고서를 쉽게 제출할 수 있습니다. 시스템을 깨기 시작하는 할당. Apple이 더 나은 선택을 할 수는 있지만 소프트웨어가 버그가 있거나 메모리가 누수되고 유한 리소스가 소진되었을 때 의도했던대로 시스템이 손상되었을 수 있습니다. 자세한 내용이 없으면 어떤 경우인지 말하기가 어렵습니다.


답변

“shmem”이 공유 메모리이고 OS X이 공유 메모리를 할당하지 못했습니다. 따라서 컴퓨터에 RAM과 하드 드라이브 메모리의 메모리가 부족한 것 같습니다. 이 경우입니까? 고정시 약 1GB의 공간이 남아있는 것 같습니다.

  • 파일을 삭제하여 디스크 공간 확보
  • 응용 프로그램을 닫아 메모리 확보

이 특정 경우 로그는 나중에 Spotlight가 마운트 된 스파 스 번들 볼륨을 인덱싱하려고 시도하여 백업 디스크 공간이 부족함을 나타냅니다.


답변