Come verificare cosa impedisce a MBP di arrestare / riavviare correttamente e risolverlo? [Ora con voci di registro]


12

E spero davvero davvero definitiva modifica: dopo l'aggiornamento a Mountain Lion, il problema sembra risolto, si spera in modo permanente.

Modifica finale: il problema non si presenta sempre, a volte devo aspettare diversi giorni perché si verifichi. Quindi è difficile testare in condizioni diverse (es. Modalità provvisoria o con alcuni software disabilitati) e ho deciso che non vale la pena dedicare giorni a valutare condizioni diverse per risolvere questo problema. I suggerimenti di Graham Perrin sono stati i più utili per trovare informazioni specifiche sui problemi di riavvio / riavvio, non presenti nei registri di uso generale.

Alcune voci del registro sono in Modifica in fondo:

MacBook Pro da 15 pollici di metà 2010, con OS X 10.7.4. A volte, quando si tenta di riavviare o spegnere la macchina, non funzionerà: lo schermo diventa grigio, la ruota che gira mostra, ma la macchina non si spegne, quindi dopo alcuni minuti devo spegnere la macchina premendo il pulsante di accensione pulsante.

Non succede ogni volta e non riesco a mettere in relazione alcun software utilizzato durante la sessione con il problema. In effetti, quando lo collaudo, a volte questo potrebbe accadere quando provo a spegnere la macchina immediatamente dopo averla avviata.

Come verificare cosa impedisce l'arresto / riavvio corretto? Presumo che devo cercare in alcuni file di registro, ma non sono sicuro di quali e quali cercare.

Modifica: aggiunta l'impostazione dettagliata di avvio / spegnimento nel nvram come suggerito da Graham Perrin, e alla fine la macchina si è bloccata al riavvio. Ho visto alcune voci dettagliate sullo schermo e dopo il riavvio le ho trovate in /var/log/launchd-shutdown.log. Sembra che WindowServer possa avere qualcosa a che fare con esso. Di seguito è la fine di quel file di registro con le prime 3 colonne rimosse (la prima aveva alcuni numeri interi in aumento, la seconda aveva voci di "1" e la terza - "com.apple.launchd"):

234 com.apple.WindowServer   Dispatching kevent callback.
234 com.apple.WindowServer   Job has not died after being killed 2 seconds ago. Simulating exit.
234 com.apple.WindowServer   Dispatching kevent callback.
234 com.apple.WindowServer   EVFILT_PROC event for job.
1 com.apple.launchd         KEVENT[0]: udata = 0x107827a90 data = 0x0 ident = 234 filter = EVFILT_PROC flags= 0x0 fflags = NOTE_EXIT
234 com.apple.WindowServer   Reaping
234 com.apple.WindowServer   Simulated exit: <rdar://problem/9359725>
234 com.apple.WindowServer   Exited 22.016701 seconds after the first signal was sent
0 com.apple.WindowServer     Exited while shutdown in progress. Processes remaining: 0/0
0 com.apple.WindowServer   Job was last to exit during shutdown of: System.
0 com.apple.WindowServer    Total rusage: utime 0.000000 stime 0.000000 maxrss 0 ixrss 0 idrss 0 isrss 0 minflt 0 majflt 0 nswap 0 inblock 0 oublock 0 msgsnd 0 msgrcv 0 nsignals 0 nvcsw 0 nivcsw 0
0 com.apple.WindowServer  Closing receive right for com.apple.windowserver.active
0 com.apple.WindowServer  Mach service deleted: com.apple.windowserver.active
0 com.apple.WindowServer  Closing receive right for com.apple.windowserver
0 com.apple.WindowServer   Mach service deleted: com.apple.windowserver
0 com.apple.WindowServer    Removed
1 com.apple.launchd      System: No submanagers left.
1 com.apple.launchd    System: Removing.
1 com.apple.launchd   System: Removing job manager.
1 com.apple.launchd    System: Userspace shutdown finished at: Wed Aug  1 08:53:12 2012
1 com.apple.launchd   System: Userspace shutdown took approximately 22 seconds.
1 com.apple.launchd   VM statistics (now - orig): Free: 28472 Active: -21833 Inactive: -1038 Reactivations: 0 PageIns: 25 PageOuts: 0 Faults: 1654 COW-Faults: 335 Purgeable: -849 Purges: 0
1 com.apple.launchd   System: Stray process at shutdown: PID 234 PPID 1 PGID 234 WindowServer
1 com.apple.launchd       System: About to call: reboot(RB_HALT).

Collega tutti i dischi normalmente utilizzati, effettua le connessioni al file server normalmente utilizzate, quindi esegui il mountcomando. Includere il risultato nella tua domanda potrebbe aiutare a restringere le cose.
Graham Perrin,

Non ci sono dischi o connessioni al file server normalmente utilizzati, sto collegando le unità USB un paio di volte al mese, ma non ho nessuna da provare in questo momento. Ho eseguito 'mount' senza alcun disco collegato, ma non c'è niente di sospetto.
lupincho,

Per favore, quale versione di Little Snitch? Il problema è riproducibile con avvio sicuro o senza Little Snitch?
Graham Perrin,

L'ultima LS stabile (2.5.3), non l'anteprima della versione 3. Ma questo stava accadendo anche con le precedenti versioni 1-2. Non posso ragionevolmente testarlo senza LS o in modalità provvisoria, poiché ciò non accade sempre, a volte ci vogliono giorni e non posso far funzionare la macchina in quel modo per lunghi periodi di tempo. Immagino, vivrei con questo per ora, e passerò a Mountain Lion e vedrò cosa succede. Ma i tuoi suggerimenti sono stati molto utili e specifici, quindi ottieni la generosità.
lupincho,

Grazie! Sulla base del tuo piano di aggiornamento del sistema operativo, ho aggiunto una sezione alla mia risposta. La risposta più breve ora è che rispetto a 10.7.4, 10.8 dovrebbe avere entrambe (a) meno probabilità di richiedere forza; e (b) più facile da diagnosticare in caso di forza.
Graham Perrin,

Risposte:


6

Completando altre risposte ...


Osservare la modalità dettagliata durante il riavvio o l'arresto

Mac OS X: come eseguire l'avvio in modalità utente singolo o dettagliato

- se si avvia in modalità dettagliata, il riavvio o l'arresto sarà altrettanto dettagliato.

Suggerimento: se le cose in modalità dettagliata sembrano non progredire oltre un certo punto, concedi forse cinque minuti prima:

  • forzare un riavvio (Command-Control-power); o
  • forzare uno spegnimento (tenere premuto il tasto di accensione).

Se un riavvio forzato non ha esito positivo, potrebbe essere un altro indizio della causa del problema.

Una domanda correlata, sebbene non orientata al problema: qualcuno può interpretare messaggi di spegnimento dettagliati?

Il caso orientato al problema qui dovrebbe essere più facile da risolvere per lupincho. Meno foglie di tè.

Per iniziare in modalità dettagliata senza digitare Command-V

Una preferenza può essere memorizzata in NVRAM. Immettere il seguente comando in Terminale e prepararsi a inserire la password dell'amministratore:

sudo nvram boot-args="-v"

Il prossimo avvio del sistema sarà dettagliato.


sysdiagnose

Prima di ogni riavvio o arresto, nel Terminale:

sudo sysdiagnose

Richiede tempo, ma non è necessario esaminare i risultati di tutte le esecuzioni. Prestare attenzione solo in caso di problemi.

Per un caso come quello di Lupincho:

  • l'esecuzione di sysdiagnosepotrebbe rivelare un problema prima del riavvio o dell'arresto
  • il risultato finale di sysdiagnose può essere interessante a seguito di un riavvio forzato o di uno spegnimento.

Più specificamente: se una serie di sysdiagnosefallimenti non riesce a superare un certo punto, conoscere quel punto può aiutare a capire il problema di fondo.

Durante la corsa puoi usare ripetutamente la seguente combinazione di tasti per vedere se le cose stanno procedendo:

  • Control-T

Per la allmemoryparte della sysdiagnoseroutine, la stima di due minuti di Apple potrebbe essere estremamente imprecisa. Essere pazientare.

Se sospetti che sysdiagnosenon riesca a progredire oltre un certo punto, quindi chiave:

  • Control-C

Se l'uso ripetuto di Control-C non si interrompe sysdiagnose, (nella mia esperienza con Mountain Lion) è quasi certo che un tentativo di riavvio o spegnimento del sistema operativo fallirà.


Monitoraggio dell'arresto

In Finder, vai a:

/private/var/log/shutdown_monitor.log

Questo file è generalmente vuoto, ma può contenere elementi di interesse a seguito di un arresto problematico. (Ho poca esperienza in questo settore.)

Se l'unico processo randagio all'arresto è WindowServer

Non è insolito avere processi vaganti allo spegnimento. Un randagio può essere problematico solo se non viene ucciso.

Se sospetti che WindowServer non sia stato ucciso e che questo particolare randagio contribuisca al fallimento dell'arresto: chiediti se un software di terze parti fa un uso non standard del processo WindowServer.

Anteprima di una vista GrabFS di WindowServer su Mountain Lion, con due display:

inserisci qui la descrizione dell'immagine

Se Lion è simile, il mio istinto è che la causa degli errori di arresto va oltre WindowServer.


Indovina, basato sui risultati di launchctl

Mentre la macchina funziona normalmente, quale risposta al seguente comando?

sudo launchctl list | grep  --invert-match com.apple

Mi chiedo se qualsiasi software non Apple contribuisca al problema. Software antivirus e antimalware?


A seguito di un aggiornamento da Lion a Mountain Lion

Obiettivo per:

/private/var/log/com.apple.launchd/launchd-shutdown.system.log

Sembra che il valore predefinito sia un registro per arresto, con un massimo di due, quindi c'è anche:

/private/var/log/com.apple.launchd/launchd-shutdown.system.log.1

A seguito di un riavvio forzato o di uno spegnimento forzato, è possibile scegliere di mettere da parte una copia della più recente delle due. Se è necessaria la forza in più di un'occasione, è possibile confrontare i file per vedere se emerge un modello.

Generalmente

Non escludere la possibilità di un problema con software di terze parti, nemmeno la qualità di rilascio. Little Snitch può essere ben scritto e ampiamente rispettato ma:

  • quando problemi come quello in questa domanda vengono estesi o troppo sconcertanti, qualsiasi estensione del kernel non Apple merita attenzione.

Ho testato la Build 12A269 di OS X 10.8 per circa due settimane prima che fosse rilasciato, con particolare attenzione all'arresto dei comportamenti in situazioni difficili . Anche se non ho visto alcun video dal WWDC 2012, ho la sensazione che Apple abbia lavorato molto duramente per evitare la necessità di forza in tutte le situazioni tranne quelle più difficili.

Basandosi sulla risposta di David DelMonte

Almeno su Mountain Lion, vedo il caricamento di Little Snitch 3.0 Preview 2 (3857) molto presto - prima che inizi la registrazione dello spegnimento . Se le cose relative a questo KEXT sono in ritardo in modo simile all'ora di spegnimento , forse un problema non sarà evidente nei normali file di registro su disco.


Se mai scoprirai la causa del problema - con Lion o Mountain Lion - sarò felice di saperlo.

Nel frattempo, con un grande ringraziamento per la generosità, un pensiero conclusivo:

kextstat -l | grep --invert-match com.apple

1
Grazie, abilitato la modalità dettagliata con il comando nvram. Tuttavia, anche dopo il riavvio non è disponibile shutdown_monitor.log. Ci sono file launchd-shutdown.log e launchd-shutdown.log.1 (sembra che solo il corrente e 1 precedente di questi siano mantenuti, a differenza di altri registri), ma questi erano lì prima e li ho esaminati in precedenza. Controllerò i messaggi di spegnimento in modalità dettagliata, speriamo di vedere dove si blocca l'arresto / riavvio.
lupincho,

Se il problema persiste, scatta una foto o due della verbosità. Non preoccuparti troppo della messa a fuoco, ecc., Riconoscerò i punti chiave anche con un po 'di sfocatura. Ho un'idea di cosa non sysdiagnosevada nel tuo caso, la nuova parte di questa risposta potrebbe essere la più pertinente.
Graham Perrin,

Nota a margine: qui con Mountain Lion ho /private/var/log/kernel-shutdown.log(con informazioni che mi sono utili) ma non /private/var/log/launchd-shutdown.log.
Graham Perrin,

Grazie per il suggerimento "sysdiagnose", basta eseguirlo, è andato bene, ci riproverò. Come hai detto, ci vuole un po 'di tempo, altrimenti potrei metterlo in hook di logout per eseguire ogni volta.
lupincho,

L'automazione è allettante, ma dovrei astenermi dal creare sysdiagnoseun elemento di disconnessione. In un caso limite, l'automazione potrebbe peggiorare una situazione difficile.
Graham Perrin,

2

Vai su Applicazioni -> Utilità e apri Console

Dai un'occhiata al file system.log, potresti essere in grado di trovare qualcosa lì.


Non vedo nulla di strano lì.
lupincho,

Buona risposta di Revolver. +1. Potresti copiare e incollare nella tua domanda, le voci di system.log che vedi dopo aver richiesto un arresto - e forse qualche minuto prima ..
Incollali

Sono andato su system.log diverse volte in passato e non ho trovato nulla di insolito rispetto agli arresti graziosi. Aspetterà la prossima volta che ciò accadrà e controllerà nuovamente i registri. Avrei dovuto chiarire che sono a conoscenza dei registri di uso generale, che aggiornerò nel mio post originale.
lupincho,

2

pmset -g assertions ottiene un riepilogo delle asserzioni di potere:

$ pmset -g assertions
Assertion status system-wide:
   PreventUserIdleDisplaySleep             0
   CPUBoundAssertion                       0
   DisableInflow                           0
   ChargeInhibit                           0
   PreventSystemSleep                      0
   PreventUserIdleSystemSleep              1
   ExternalMedia                           1
   DisableLowPowerBatteryWarnings          0
   EnableIdleSleep                         1
   NoRealPowerSources_debug                0
   UserIsActive                            0
   ApplePushServiceTask                    0

Listed by owning process:
  pid 153: [0x00000099012c023b] PreventUserIdleSystemSleep named: "com.apple.audio.'AppleUSBAudioEngine:Apple Inc.:Display Audio:15261930:2,1'.noidlesleep" 
  pid 19: [0x00000013012c0235] ExternalMedia named: "com.apple.powermanagement.externalmediamounted" 

Puoi vedere il percorso di un processo con ps up $pid:

$ ps up 153
USER          PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
_coreaudiod   153   0.0  0.2  2475000   6740   ??  Ss   Fri05PM  12:17.71 /usr/sbin/coreaudiod

Lo eseguo e non mostra nulla. Il problema è che dopo aver avviato l'arresto / riavvio non riesco a eseguire alcun comando. Inoltre, il problema non si presenta sempre, quindi dovrei controllarlo frequentemente o scrivere uno script per salvare le informazioni in un file in modo che dopo un arresto / riavvio problematico posso tornare a quel file e vedere se qualcosa è apparso . Ma sembra un buon punto di partenza, grazie mille!
lupincho,

1

Ho avuto questo problema e ho trovato una soluzione che ha funzionato per me. Anche se non sto rispondendo direttamente alla tua domanda (come verificare la causa del problema), è una soluzione che potrebbe valere la pena:

  1. Passare a "Macintosh HD> Libreria"
  2. Elimina la cartella denominata "Java"
  3. Cestino vuoto
  4. Spegnimento
  5. Una volta eseguito qualcosa relativo a Java, ti verrà richiesto di reinstallare Java, fallo.

Successivamente, il tempo di spegnimento dovrebbe migliorare. Nota: sto ancora ricevendo arresti lenti quando arresto immediatamente dopo l'avvio del sistema, quindi dopo aver seguito i passaggi e si desidera eseguire il test, attendere alcuni minuti dopo l'avvio del sistema prima di spegnerlo.


Interessante; fatto questo, vediamo cosa succede. Il problema è che non succede ogni volta, quindi l'unico modo per verificare è aspettare diversi giorni e se non si ripete, ciò può significare che è stato risolto.
lupincho,

Non ha funzionato, ho appena avuto un problema nello spegnimento della macchina.
lupincho,

1
  1. Hai qualche periferica collegata (USB, FW, ecc.)?

In tal caso, sarebbe interessante disconnettere tutto e vedere se il problema esiste.

  1. Hai provato a riparare le autorizzazioni e a controllare l'integrità dei file?

Spero che questi aiuti.


Ho fatto i permessi di riparazione. Nessuna periferica, nemmeno un cavo Ethernet. Aggiungerà tali informazioni alla domanda.
lupincho,

Periferiche: è sempre bene considerare quando (come nella domanda di Lupincho) c'è un odore di un problema con l'I / O. Autorizzazioni: non è mai probabile che IMHO prevenga l'arresto del sistema operativo. Disintegrazione - possibile, ma per me la domanda nella sua forma attuale ha un odore maggiore di software. (Nota a margine, sull'integrità: quale software gratuito o open source posso usare con l'hardware Mac per verificare l'integrità di ogni blocco di un disco in cui viene utilizzato Core Storage? - troppa tecnologia lì al momento, alla fine dovrebbe condensarsi in qualcosa di molto più semplice.)
Graham Perrin il

1

Alcune altre idee:

  1. Crea un altro account utente. Accedi solo come questo account di prova. Se non hai il problema, è probabile che sia qualcosa nel tuo software utente. Se hai il problema, è possibile che sia hardware.

  2. Prova a ricreare il problema usando solo la batteria.

  3. Segui i passaggi per il controller di gestione del sistema di Apple -

Ripristino di System Management Controller (SMC) Ripristino di SMC su portatili Mac con una batteria che è possibile rimuovere

Spegni il computer. Scollegare l'adattatore di alimentazione MagSafe dal computer, se è collegato. Rimuovere la batteria. Tenere premuto il pulsante di accensione per 5 secondi. Rilascia il pulsante di accensione. Ricollegare la batteria e l'alimentatore MagSafe. Premi il pulsante di accensione per accendere il computer.


Votato principalmente per la tua idea (1). Per idea (2), con i sintomi come attualmente descritto, personalmente non sospetterei alcuna differenza con la sola batteria. Tuttavia, problemi come quelli del lupincho sono sorprendentemente difficili da diagnosticare senza accesso diretto ... quindi non è una cattiva idea. L'idea (3), i problemi risolti da un reset sono (per me) estremamente rari ... ma ancora una volta non è una cattiva idea - veloce e semplice da eseguire, anche questo guadagna il mio voto.
Graham Perrin,

1

Non avevo capito che avessi Little Snitch in esecuzione. Ho appena risolto un problema simile per un amico, rimuovendo LS. Ti consiglio di provarlo. Per rimuovere correttamente, scaricare di nuovo il programma di installazione LS. Esegui il programma di installazione, ma seleziona disinstalla.

Sono anche curioso di sapere perché vorresti usare questa app ..



Per favore: il computer del tuo amico ha eseguito Lion o Mountain Lion? Quale versione di Little Snitch è stata disinstallata?
Graham Perrin,

1
Quello era Lion. Non conosco la versione LS .. scusa.
David DelMonte,

1
Non ci sono prove che LS lo stia causando e, sfortunatamente, poiché il problema non si verifica ogni volta, testarlo con LS rimosso sarebbe richiedere diversi giorni durante i quali non posso perdere LS. Per quanto riguarda il motivo per eseguire LS: ci sono troppi programmi che telefonano a casa ed è solo un altro livello di controllo per il traffico in uscita. Quello che alla fine farei è aggiornare alla versione 3 quando viene rilasciato ufficialmente.
lupincho,

Ai fini della risoluzione dei problemi, Little Snitch può essere trattato in modo diverso rispetto ad altri KEXT di terze parti per almeno due motivi: (i) la precocità del suo carico e (ii) la sua collocazione nel dominio del sistema in /System/Library/Extensions. Con il merito a David ho aggiunto una sezione alla mia risposta.
Graham Perrin,

0

La mia ragazza aveva semplicemente cancellato le directory per i paralleli trascinando e rilasciando il dir nel cestino e svuotando il cestino. Tuttavia, ho trovato di nuovo dei parallelismi nella cartella Libreria e c'era uno script di shell (file .sh) per disinstallarlo correttamente. Questo ha funzionato e risolto i nostri lunghi problemi di avvio.

Ne parlo perché i paralleli sono una causa nota di molti rallentamenti e sembra che non sia facile disinstallarlo come indica il loro sito Web (semplicemente trascinando la directory).

Sentieri felici, spero che questo aiuti qualcuno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.