Mac OS X Mavericks si blocca, si blocca quando si esaurisce la memoria

9

Succede a giorni alterni e i sintomi sono a dir poco strani. Il computer risponde ancora in un certo senso; Posso spostare il mouse, i pulsanti del volume sulle mie cuffie funzionano. Tuttavia, la tastiera non emette niente , nemmeno facendo clic. Non sono presentati stati hover. È come se il puntatore del mouse non fosse realmente spostato.

Posso usare il computer se accedo da un altro computer usando SSH o usando un telecomando dal mio telefono (io uso Rowmote.) È molto lento, però - ma risponde.

In questo stato, posso fare pochissime cose. Avviare nuove applicazioni è una roulette, ad esempio potrei avviare Activity Monitor (non c'è nulla di strano da vedere) ma avviare Console non è stato possibile. Le app di chiusura hanno dato risultati strani fino a quando non ha smesso di rispondere anche al telecomando. È interessante notare che l'applicazione remota non pensava di aver perso la connessione, quindi in qualche modo ha comunque ricevuto e riconosciuto i comandi remoti.

Ecco l'output /var/log/system.log relativo dal momento in cui è successo:

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

Non mi sto davvero chiedendo nulla qui, se hai dei suggerimenti suppongo che sarebbe bello. Sembra essere una cattiva ingegneria da parte di Apple.

    
posta lericson 03.01.2014 - 11:31
fonte

2 risposte

4

Quando il sistema operativo è affamato di spazio su disco, le cose brutte accadono in base alla progettazione, nel tentativo di mantenere le parti critiche del sistema online abbastanza a lungo da consentire un arresto controllato e potenzialmente lasciare che le app con modifiche per salvare sopravvivano fino a quando inizia l'attività di pulizia.

Mavericks ha meno probabilità di allocare l'intera quantità di RAM a / var / db / sleepimage in modo che le persone abituate a disporre di tale spazio preallocato possano incorrere in sorprese quando il sistema operativo richiede un po 'di spazio per far crescere l'immagine del sonno se le condizioni operative lo richiedono .

Il suggerimento principale sarebbe quello di preservare diversi gigabyte di spazio libero sul volume di avvio quando si ha un carico di lavoro che sottolinea il sistema di memoria virtuale e viene eseguito con la pressione della memoria in rosso.

Ecco i miei consigli:

  • A quale scala o misura aderisce la "pressione della memoria" di Mavericks e Yosemite? ha alcune buone informazioni sul monitoraggio e sulla pressione della memoria su comando
  • avvia il sistema, accedi a un utente, esci da tutte le applicazioni
  • apri monitor di attività e osserva / registra lo schermo di memoria
  • metti in stop la macchina e riattiva 30 secondi dopo
  • esegui sudo du -sm /var/vm/* e nota quanto è grande il tuo file di immagine del sonno e se sul disco sono stati creati eventuali file di scambio.

Dovrai avere uno spazio sufficientemente libero su disco libero per abbinare il tuo ingombro di memoria totale se intendi eseguire programmi che portano il sistema di memoria virtuale in territorio giallo alla pressione della memoria. Probabilmente non avrai bisogno di tutto lo spazio solo per il sistema operativo, ma soprattutto se ricevi errori di memoria del mach come quelli che stai elencando, il carico di lavoro che stai utilizzando ha bisogno di un po 'più di spazio libero per crescere di quello che stai permettendo.

Inoltre, se ritieni che la messa a punto del sistema sia errata, puoi facilmente presentare una segnalazione di bug eseguendo sysdiagnose dopo un avvio pulito come descritto sopra, ancora una volta quando il sistema esegue correttamente il carico di lavoro previsto e un'ultima sydiagnose Esegui una volta che hai causato l'allocazione della memoria per iniziare a rompere il sistema. È possibile che ci siano scelte migliori che Apple avrebbe potuto fare, ma potrebbe anche essere che il tuo software sia bacato / che perde memoria e il sistema si sta rompendo come previsto quando le risorse limitate si sono esaurite. Senza ulteriori dettagli è difficile dire quale sia il caso.

    
risposta data 03.01.2014 - 16:00
fonte
2

"shmem" è memoria condivisa e OS X non riesce ad allocare memoria condivisa. Sembra quindi che il computer abbia esaurito la memoria, sia la RAM che la memoria del disco rigido. È questo il caso? Al momento del congelamento, sembrava esserci circa 1 GB di spazio residuo.

  • Liberare spazio su disco eliminando i file
  • Liberare memoria chiudendo le applicazioni

In questo caso particolare, i log in seguito hanno indicato che Spotlight stava cercando di indicizzare un volume sparsebundle montato, con conseguente esaurimento del disco di backup.

    
risposta data 03.01.2014 - 11:31
fonte

Leggi altre domande sui tag