Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce le soluzioni di un problema in cui il processo LSAISO riscontra un utilizzo elevato della CPU in un computer che esegue Windows.
Si applica a: Windows 10 - tutte le edizioni, Windows 11 - tutte le edizioni, Windows Server 2016, Windows Server 2019, Windows Server 2022
Numero KB originale: 4032786
Sintomi
Il processo LSAISO (LSA Isolated) sperimenta un utilizzo elevato della CPU in un computer che esegue Windows 10, Windows Server 2016 o versioni successive.
Causa
In Windows il processo LSAISO viene eseguito come processo in modalità utente isolato (IUM) in un nuovo ambiente di sicurezza noto come modalità di sicurezza virtuale (VSM).
Le applicazioni e i driver che tentano di caricare una DLL in un processo di IUM, inserire un thread o distribuire un APC in modalità utente possono destabilizzare l'intero sistema. Questa destabilizzazione può includere lo scenario elevato di CPU LSAISO menzionato nella sezione "Sintomi".
Risoluzione 1: Usare il processo di eliminazione
È comune che alcune applicazioni ( ad esempio programmi antivirus) inserisca DLL o CODE ACS nel processo LSAISO. In questo modo il processo LSAISO riscontra un utilizzo elevato della CPU.
Per la risoluzione dei problemi, non è possibile collegare strumenti a un processo di IUM. Ciò impedisce di usare gli strumenti di debug di Windows o WPA\XPERF per acquisire le tracce dello stack durante lo spiking della CPU LSAISO. Pertanto, il metodo migliore per la risoluzione dei problemi in questo scenario consiste nell'usare la metodologia "processo di eliminazione". A tale scopo, disabilitare le applicazioni e i driver fino a quando non viene ridotto il picco della CPU. Dopo aver determinato il software che causa il problema, contattare il fornitore per un aggiornamento software. È possibile fare riferimento alle raccomandazioni ISV elencate nell'argomento MSDN seguente:
Processi IUM (Isolated User Mode)
Note
Questo metodo potrebbe richiedere un riavvio dopo aver disabilitato il software e i driver sospetti durante il test per il picco della CPU.
Risoluzione 2: Verificare la presenza di APC in coda
Scaricare gli strumenti di debug gratuiti per Windows (WinDbg, KD, CDB, NTSD). Questi strumenti sono inclusi sia in Windows Driver Kit (WDK) che in Windows Driver Kit (WDK). Seguire quindi questa procedura per determinare quale driver accoda un APC a LSAISO:
Durante la riproduzione del picco della CPU, generare un dump della memoria del kernel usando uno strumento come NotMyFault.exe dal seguente sito Web Sysinternals:
Note
Un dump di memoria completo non è consigliato perché richiederebbe la decrittografia se VSM è abilitato nel sistema. Per abilitare il dump del kernel, seguire questa procedura:
- Aprire l'elemento Sistema in Pannello di controllo e quindi selezionare Impostazioni di sistema avanzate.
- Nella scheda Avanzate della finestra di dialogo Proprietà sistema selezionare Impostazioni nell'area Avvio e ripristino .
- Nella finestra di dialogo Avvio e ripristino selezionare Dump della memoria kernel nell'elenco Scrivere informazioni di debug.
- Prendere nota del percorso del file di dump da usare nel passaggio 5 e quindi selezionare OK.
Aprire lo strumento WinDbg.exe da Strumenti di debug per Windows.
Nel menu File fare clic su Percorso file simbolo, aggiungere il percorso seguente per Il server simboli Microsoft alla casella Percorso simbolo e quindi selezionare OK:
https://msdl.microsoft.com/download/symbols
Scegliere Apri dump di arresto anomalo dal menu File.
Passare al percorso del file di dump del kernel annotato nel passaggio 1d e quindi selezionare Apri. Controllare la data del file .dmp per assicurarsi che sia stata appena creata durante questa sessione di risoluzione dei problemi.
Nella finestra Comando digitare !apc e quindi premere INVIO.
L'output dovrebbe essere simile allo screenshot seguente.
Cercare i risultati per LsaIso.exe. Se un driver denominato <ProblemDriver>.sys è elencato in LsaIso.exe (come illustrato nello screenshot di esempio dell'output nel passaggio 6), contattare il fornitore e quindi fare riferimento alla mitigazione consigliata elencata nell'argomento Processi IUM (Isolated User Mode).
Note
Se non sono elencati driver in Lsaiso.exe, significa che il processo LSAISO non dispone di API in coda.
Ulteriori informazioni
VSM usa le modalità di isolamento note come livelli di attendibilità virtuale (VTL) per proteggere i processi di IUM (noti anche come trustlet). I processi di IUM, ad esempio LSAISO, vengono eseguiti in VTL1 mentre altri processi vengono eseguiti in VTL0. Le pagine di memoria dei processi eseguiti in VTL1 sono protette da qualsiasi codice dannoso in esecuzione in VTL0.
Prima di Windows 10 e Windows Server 2016, il processo LSASS (Local Security Authority Subsystem Service) era esclusivamente responsabile della gestione dei criteri di sistema locali, dell'autenticazione utente e del controllo mentre gestiva anche dati di sicurezza sensibili, ad esempio hash delle password e chiavi Kerberos.
Per sfruttare i vantaggi di sicurezza di VSM, il trustlet LSAISO eseguito in VTL1 comunica tramite un canale RPC con il processo LSAISO in esecuzione in VTL0. I segreti LSAISO vengono crittografati prima dell'invio a LSASS e le pagine di LSAISO sono protette da qualsiasi codice dannoso in esecuzione in VTL0.