Questo documento descrive come risolvere i problemi di blocco soft delle vCPU. Un soft lockup si verifica quando la vCPU di un'istanza di macchina virtuale (VM) non è in grado di eseguire una nuova attività per più di 20 secondi. La maggior parte dei blocchi software è causata da bug nel software dell'applicazione.
I soft lockup possono causare la mancata risposta delle VM per brevi periodi di tempo, interrompere l'accesso SSH alle VM e attivare timeout o failover delle applicazioni. Le VM che riscontrano un blocco soft potrebbero anche avere un utilizzo della CPU insolitamente elevato o insolito, a seconda della causa esatta del blocco soft.
Identificare i blocchi parziali
Per identificare se la tua VM sta riscontrando un blocco soft, procedi in uno dei seguenti modi:
- Se in precedenza hai attivato la registrazione dell'output della porta seriale per la tua VM, controlla l'output della porta seriale per una analisi dello stack di soft lockup.
- Controlla i log del sistema operativo della VM (
/var/log/messages
) per una analisi dello stack di soft lockup.
Esempio di analisi dello stack di blocco parziale
watchdog: BUG: soft lockup - CPU#3 stuck for 22s!
Per rilevare futuri blocchi soft, puoi:
Crea un criterio di avviso basato su log per il seguente log:
resource.type="gce_instance" log_id("serialconsole.googleapis.com/serial_port_1_output") textPayload=~"watchdog.*lockup"
Risolvere i problemi di blocco parziale
Dopo aver identificato che si sta verificando un soft lockup, prova i seguenti passaggi per la risoluzione dei problemi per risolvere il problema:
- Controlla il sito del fornitore del sistema operativo per verificare la presenza di errori noti nella tua versione del sistema operativo. A volte potresti trovare riferimenti a moduli del kernel specifici nelloanalisi dello stacke che suggeriscono una particolare funzione o operazione coinvolta.
- Identifica se il blocco soft si ripete con una certa frequenza, ad esempio in concomitanza con un carico elevato o determinate attività. Se i soft lockup sono correlati a un carico elevato, potrebbe essere necessario riconfigurare il workload, ad esempio utilizzando una VM più grande o suddividendo il carico su più VM.
- Controlla se i soft lockup sono correlati a modifiche all'ambiente di runtime, ad esempio nuove implementazioni di software o aggiornamenti delle immagini del sistema operativo.
- Valuta se si sono verificati eventi di manutenzione intorno al momento del soft lockup esaminando gli audit log per gli audit log degli eventi di sistema.
Se i passaggi per la risoluzione dei problemi precedenti non hanno risolto il problema, invia una richiesta di assistenza e includi tutte le informazioni che hai raccolto durante la risoluzione dei problemi.
Best practice per evitare i blocchi soft
Per evitare che le tue VM subiscano blocchi soft, ti consigliamo di implementare le seguenti best practice:
- Assicurati di aver configurato i componenti ridondanti appropriati per il tuo sistema, ad esempio cluster ad alta disponibilità, per fornire una funzionalità di failover se una determinata VM subisce un soft lockup prolungato. Per ulteriori informazioni, consulta la sezione Progettazione di sistemi resilienti.
- Per i carichi di lavoro ad alta intensità di calcolo, valuta la possibilità di utilizzare le famiglie di macchine ottimizzate per il calcolo.
- Testa il tuo workload con eventi di manutenzione simulati per scoprire le prestazioni del tuo workload durante la migrazione live (se abilitata), in particolare durante il test di carico.
- Se esegui un kernel Linux personalizzato o moduli personalizzati nella tua VM, testa le nuove modifiche sotto carico prima di eseguirne il deployment nell'ambiente di produzione. Conferma che le modifiche personalizzate non ti impediscono di ricevere assistenza dal fornitore del sistema operativo.
- Mantieni aggiornato il sistema operativo. Per saperne di più, consulta la documentazione del sistema operativo.