Använda Azure-seriekonsolen för SysRq- och NMI-anrop
Gäller för: ✔️ Virtuella Linux-datorer
Systembegäran (SysRq)
En SysRq är en sekvens med nycklar som tolkas av Linux-åtgärdssystemets kernel, vilket kan utlösa en uppsättning fördefinierade åtgärder. Dessa kommandon används ofta när felsökning eller återställning av virtuella datorer inte kan utföras via traditionell administration (till exempel om den virtuella datorn inte svarar). Om du använder SysRq-funktionen i Azure-seriekonsolen efterliknas tryckning av SysRq-tangenten och tecken som anges på ett fysiskt tangentbord.
När SysRq-sekvensen har levererats styr kernelkonfigurationen hur systemet svarar. Information om hur du aktiverar och inaktiverar SysRq finns i textmarkeringen | SysRq Admin Guide.
Azure-seriekonsolen kan användas för att skicka en SysRq till en virtuell Azure-dator med hjälp av tangentbordsikonen i kommandofältet som visas nedan.
Om du väljer "Skicka SysRq-kommando" öppnas en dialogruta som ger vanliga SysRq-alternativ eller accepterar en sekvens med SysRq-kommandon som anges i dialogrutan. På så sätt kan serier av SysRq utföra en högnivååtgärd, till exempel en säker omstart med hjälp av: REISUB
.
SysRq-kommandot kan inte användas på virtuella datorer som stoppas eller vars kernel är i ett icke-dynamiskt tillstånd. (till exempel en kernel-panik).
Aktivera SysRq
Enligt beskrivningen i Administratörsguiden för SysRq ovan kan SysRq konfigureras så att alla, inga eller endast vissa kommandon är tillgängliga. Du kan aktivera alla SysRq-kommandon med hjälp av steget nedan, men det kommer inte att överleva en omstart:
echo "1" >/proc/sys/kernel/sysrq
Om du vill göra SysReq-konfigurationen beständig kan du göra följande för att aktivera alla SysRq-kommandon
- Lägga till den här raden i /etc/sysctl.conf
kernel.sysrq = 1
- Starta om eller uppdatera sysctl genom att köra
sysctl -p
Kommandonycklar
I administratörsguiden för SysRq ovan:
Command | Funktion |
---|---|
b |
Startar omedelbart om systemet utan att synkronisera eller demontera diskarna. |
c |
Utför en systemkrasch med en NULL-pekaravreference. En kraschdumpa tas om den konfigureras. |
d |
Visar alla lås som hålls. |
e |
Skicka en SIGTERM till alla processer, förutom init. |
f |
Kommer att kalla oom mördaren att döda en minnessvin process, men inte panik om ingenting kan dödas. |
g |
Används av kgdb (kernelbugger) |
h |
Visar hjälp (någon annan nyckel än de som anges här visar också hjälp, men h är lätt att komma ihåg :-) |
i |
Skicka en SIGKILL till alla processer, förutom init. |
j |
Med två skäl "Just thaw it" – filsystem som frysts av FIFREEZE ioctl. |
k |
Säker åtkomstnyckel (SAK) stoppar alla program i den aktuella virtuella konsolen. Obs! Se viktiga kommentarer nedan i AVSNITTET SAK. |
l |
Visar en stack-backtrace för alla aktiva processorer. |
m |
Dumpar aktuell minnesinformation till konsolen. |
n |
Används för att göra RT-uppgifter snygga |
o |
Stänger av systemet (om det är konfigurerat och stöds). |
p |
Dumpar aktuella register och flaggor till konsolen. |
q |
Dumpar per CPU-listor över alla beväpnade hrtimers (men INTE vanliga timer_list timers) och detaljerad information om alla clockevent-enheter. |
r |
Inaktiverar tangentbords raw-läge och ställer in det på XLATE. |
s |
Försöker synkronisera alla monterade filsystem. |
t |
Dumpar en lista över aktuella uppgifter och deras information till konsolen. |
u |
Försöker återmontera alla monterade filsystem med skrivskydd. |
v |
Återställer framebuffer-konsolen kraftfullt |
v |
Orsakar ETM-buffertdump [ARM-specifik] |
w |
Dumpar uppgifter som är i avbrottsfritt (blockerat) tillstånd. |
x |
Används av xmon-gränssnittet på ppc/powerpc-plattformar. Visa globala PMU-register på sparc64. Dumpa alla TLB-poster på MIPS. |
y |
Visa globala CPU-register [SPARC-64 specific] |
z |
Dumpa ftrace-bufferten |
0 -9 |
Anger konsolens loggnivå och styr vilka kernelmeddelanden som ska skrivas ut till konsolen. (0 skulle till exempel göra det så att endast nödmeddelanden som PANIC eller OOPSes skulle ta sig till konsolen.) |
Distributionsspecifik dokumentation
Information om distributionsspecifik dokumentation om SysRq och steg för att konfigurera Linux för att skapa en kraschdump när det tar emot ett SysRq-kommando för "Krasch" finns i länkarna nedan:
Ubuntu
Red Hat
- Vad är SysRq-anläggningen och hur använder jag den?
- Använda SysRq-anläggningen för att samla in information från en RHEL-server
SUSE
CoreOS
Ej maskerbart avbrott (NMI)
Ett icke-maskerbart avbrott (NMI) är utformat för att skapa en signal som programvara på en virtuell dator inte ignorerar. Tidigare har NMI:er använts för att övervaka maskinvaruproblem på system som kräver specifika svarstider. I dag använder programmerare och systemadministratörer ofta NMI som en mekanism för att felsöka system som inte svarar.
Seriekonsolen kan användas för att skicka ett NMI till en virtuell Azure-dator med hjälp av tangentbordsikonen i kommandofältet som visas nedan. När NMI har levererats styr konfigurationen av den virtuella datorn hur systemet svarar. Linux-operativsystem kan konfigureras för att krascha och skapa en minnesdump som operativsystemet tar emot ett NMI.
Aktivera NMI
För Linux-system som stöder sysctl för att konfigurera kernelparametrar kan du aktivera panik när du tar emot detta NMI med hjälp av följande:
- Lägga till den här raden i /etc/sysctl.conf
kernel.panic_on_unrecovered_nmi=1
- Starta om eller uppdatera sysctl genom att köra
sysctl -p
Mer information om Linux-kernelkonfigurationer, inklusive unknown_nmi_panic
, panic_on_io_nmi
och panic_on_unrecovered_nmi
, finns i: Dokumentation för /proc/sys/kernel/*. Information om distributionsspecifik dokumentation om NMI och steg för att konfigurera Linux för att skapa en kraschdump när den tar emot ett NMI finns i länkarna nedan:
Ubuntu
Red Hat
- Vad är ett NMI och vad kan jag använda det för?
- Hur konfigurerar jag mitt system så att det kraschar när NMI-växeln skickas?
- Administratörsguide för kraschdumpar
SUSE
CoreOS
Nästa steg
- Den huvudsakliga dokumentationssidan för Serial Console Linux finns här.
- Använd seriekonsolen för att starta i GRUB och ange läget för en användare
- Seriekonsolen är också tillgänglig för virtuella Windows-datorer
- Läs mer om startdiagnostik
Kontakta oss om du behöver hjälp
Om du har frågor eller behöver hjälp skapar du en supportbegäran eller frågar Azure Community-support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.