Condividi tramite


Risolvere gli errori di arresto: procedure consigliate e raccomandazioni sulla configurazione del dump

Questo articolo presenta le operazioni eseguite da Windows quando si verifica una schermata blu e fornisce alcune procedure consigliate per prevenire e risolvere i problemi relativi alla schermata blu.

Cosa accade quando si verifica un errore di arresto

Il sistema operativo monitora continuamente se stesso per verificare che venga eseguito all'interno dei parametri previsti. In caso contrario, il sistema operativo chiama la funzione kernel KeBugCheckEx per riavviare per il ripristino da uno scenario così non integro. Per altre informazioni, vedere la funzione KeBugCheckEx (wdm.h). La funzione KeBugCheckEx attiva quindi un errore di arresto (noto anche come controllo di bug, schermata blu di morte e dump) e riavvia il computer.

Le sezioni seguenti usano il problema descritto in Controllo bug 0x50: PAGE_FAULT_IN_NONPAGED_AREA per spiegare cosa accade quando si verifica un errore di arresto.

Esempio di errore di arresto 0x50

Questo errore di arresto si verifica nello scenario seguente:

Il sistema operativo sta tentando di fare riferimento a una parte della memoria che deve essere disponibile nella memoria ad accesso casuale fisico (RAM). Tuttavia, quando il sistema operativo accede a tale memoria, non è possibile trovare la memoria e si verifica un errore di pagina.

Ciò viola i parametri per un sistema operativo integro. Di conseguenza, il sistema operativo chiama KeBugCheckEx per arrestare il sistema operativo in modo controllato per evitare ulteriori danni.

Esistono tre fasi per questo processo di arresto dell'errore.

Fase 1: Monitorare il sistema (in corso)

Durante questa fase, il kernel monitora continuamente il sistema. Inoltre, durante ogni avvio, gestione sessione legge la configurazione dalla chiave HKLM\SYSTEM\CurrentControlSet\Control\CrashControl del Registro di sistema per la configurazione del dump.

Quando il sistema operativo rileva uno stato del sistema operativo non integro, viene chiamata la funzione KeBugCheckEx .

Fase 2: Errore di arresto

Durante la fase di arresto dell'errore, il sistema operativo visualizza questa schermata di stato blu. Questo è il motivo per cui l'errore di arresto viene chiamato schermata blu.

Screenshot della schermata blu.

Nello screenshot è possibile visualizzare il codice di arresto specifico nel rettangolo nero 1. Questo codice di arresto consente di identificare il primo passaggio controllando il riferimento al codice di controllo dei bug. In Windows sono presenti più di 300 codici di arresto diversi e ognuno è documentato in dettaglio nell'articolo di riferimento.

Nel rettangolo nero 2 è possibile visualizzare lo stato di avanzamento dello spostamento della RAM nel file di pagina. Questa operazione si basa sulla configurazione in CrashControl che viene letta durante l'avvio del sistema.

Nei sistemi di grandi dimensioni, questo processo può richiedere del tempo. Per spiegare questo scenario, è possibile usare uno scenario specifico.

Si supponga di avere un sistema con 1.024 GB di RAM. Un'unità disco rigido (HDD) tipica ha una velocità di I/O su disco fino a 100 MB al secondo, mentre un'unità SSD (Solid State Drive) può raggiungere una velocità fino a 500 MB. Quando il sistema operativo genera un dump completo, controllare la tabella seguente per il tempo necessario in base alla configurazione del disco:

Tipo di disco Velocità del disco Tempo di scrittura di un dump in secondi (minuti)
HDD 100 MB/sec 10.485 sec (~175 min)
SSD 500 MB/sec 2.097 sec (~35 min)

Note

In un sistema fisico, il computer Basic Input-Output System (BIOS) potrebbe avere la funzionalità Di ripristino automatico del sistema (ASR). Questa funzionalità controlla periodicamente se Windows è in esecuzione. Quando il controllo ha esito negativo, la funzionalità avvia una reimpostazione dell'alimentazione per ripristinare il sistema. Questo comportamento interrompe il processo di dump perché Windows e i relativi servizi non vengono più eseguiti durante la fase 2.

Nel rettangolo nero 3 è possibile visualizzare un potenziale suggerimento su ciò che è stato coinvolto nell'arresto anomalo. Se il messaggio riguarda un driver o un software, il controllo di un aggiornamento è un'opzione valida.

Al termine del processo di spostamento della RAM nel file di pagina, il file di pagina viene contrassegnato come dump. Nel passaggio finale il sistema viene riavviato (in base alla configurazione) per completare la fase 2 e passare alla fase 3.

Fase 3: Creazione del dump

Durante l'avvio del sistema operativo, il processo di gestione sessione (SMSS.exe) carica il file di pagina. Poiché il file di pagina è stato contrassegnato come dump, SMSS.exe quindi estratto il dump dal file di pagina. Il processo di avvio potrebbe richiedere più tempo del previsto perché il file di pagina può essere di grandi dimensioni. L'ultimo passaggio della fase 3 consiste nel registrare un evento nel registro eventi di sistema, con ID evento 1001, Livello: Errore e Origine: BugCheck:

Screenshot dell'ID evento 1001.

Importante

Questo evento contiene anche un codice di arresto specifico con i parametri (vedere rettangolo nero 1 nell'immagine). È possibile usare queste informazioni nella documentazione pubblica per altre informazioni sul controllo dei bug e sul relativo significato nella guida di riferimento al codice di controllo dei bug.

Inoltre, è possibile visualizzare la posizione del dump (vedere rettangolo nero 2 nell'immagine).

Procedure consigliate per la risoluzione dei problemi e la prevenzione degli errori di arresto

Nella maggior parte degli scenari è possibile usare le azioni seguenti per risolvere un errore di arresto.

Assicurarsi di eseguire la patch più recente per il sistema operativo

Microsoft rilascia patch a qualsiasi sistema operativo supportato ogni secondo martedì (ciclo di patch). Queste patch contengono miglioramenti per la sicurezza e l'affidabilità. È consigliabile installarli subito dopo il rilascio.

Assicurarsi che il software e i driver siano aggiornati

Microsoft collabora strettamente con i nostri partner per garantire che i propri prodotti funzionino anche all'interno dei parametri di un sistema operativo integro. Quando viene segnalato un errore di arresto a Microsoft e il supporto tecnico ha rilevato che questo errore è correlato a un driver o a un software specifico, Microsoft li invia una notifica. Questo in genere comporta un aggiornamento del software. Pertanto, è consigliabile mantenere aggiornato il software.

Prendere in considerazione l'aggiornamento alla versione più recente del sistema operativo

In alcuni casi, non è possibile distribuire miglioramenti a Windows come parte di un aggiornamento, ma solo come parte di una nuova versione del sistema operativo. Se il sistema operativo, il software e i driver sono stati aggiornati, un aggiornamento del sistema operativo potrebbe essere un approccio valido.

Self-help tramite il riferimento al codice di arresto

All'interno del riferimento al codice di controllo dei bug, Microsoft fornisce indicazioni e consigli basati sul codice di arresto specifico. L'articolo di riferimento è un ottimo posto per informazioni e una raccomandazione avanzata per controllare il codice di controllo dei bug specifico. Microsoft è consapevole che potrebbe trattarsi di una soluzione complessa e, se è necessario assistenza, aprire un caso di supporto con Microsoft. Assicurarsi di disporre di un dump della memoria disponibile per velocizzare la risoluzione.

Assicurarsi che il sistema operativo possa acquisire un dump

Se non viene generato alcun dump, seguire questa raccomandazione.

Questa raccomandazione dipende dalle dimensioni del sistema, poiché la RAM e lo spazio su disco rigido influisce direttamente sulle raccomandazioni.

Memoria dei sistemi fino a 32 GB

  1. Assicurarsi che il file di pagina sia impostato su RAM + 300 MB.
  2. Assicurarsi che il sistema sia impostato su un dump completo. A tale scopo, passare a HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControle impostare CrashDumpEnabled su 0x1.

Assicurarsi di disporre di spazio su disco sufficiente per il file Pagefile e il file memory.dmp .

Memoria dei sistemi superiore a 32 GB

  1. Assicurarsi che il file di pagina sia impostato su Gestito dal sistema.
  2. Assicurarsi che il sistema sia impostato su un dump automatico della memoria. A tale scopo, passare alla chiave del HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl Registro di sistema e impostare CrashDumpEnabled su 0x7.

In genere, un dump della memoria kernel è inferiore a 40 GB. Il dump automatico, combinato con un file di pagina gestito dal sistema, tenta di garantire che i requisiti del disco rigido siano mantenuti almeno. È comunque necessario assicurarsi di disporre di spazio su disco sufficiente per pagefile e il file di memory.dmp .

Se necessario, è possibile configurare il sistema operativo per salvare il file di dump %SystemRoot%\Memory.dmp in un percorso diverso. Ad esempio, è possibile salvare il file nell'unità D, ovvero un secondo disco rigido con spazio su disco sufficiente. A tale scopo, effettuare i passaggi seguenti:

  1. Passare alla chiave del HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl Registro di sistema.
  2. Impostare DumpFile su d:\Memory.dmp.

Inoltre, nei sistemi di grandi dimensioni, assicurarsi che l'ASR sia disabilitato nel BIOS.