精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

sysRq鍵使用方法

嵌入式與Linux那些事 ? 來源:嵌入式與Linux那些事 ? 2023-02-10 14:16 ? 次閱讀

SysRq鍵簡介

SysRq鍵是一個魔術(shù)案件,只要在內(nèi)核沒有完全卡死的情況下,內(nèi)核都會相應(yīng)SysRq 鍵的輸入,使用這些組合鍵都可以搜集包括系統(tǒng)內(nèi)存使用、CPU任務(wù)處理、進程運行狀態(tài)等系統(tǒng)運行信息

配置

內(nèi)核配置選項中要使能CONFIG_MAGIC_SYSRQ選項,這樣系統(tǒng)啟動之后,會生成/proc/sysrq-trigger節(jié)點用于調(diào)試。

修改/etc/sysctl.conf啟動SysRq。

kernel.sysrq=1

執(zhí)行下列命令,使修改生效。

sysctl-p

也可以通過寫echo "number" >/proc/sys/kernel/sysrq節(jié)點臨時使能sysrq功能。

寫入不同的值使能不同的功能:

描述/說明
0 完全禁用 sysrq
1 啟用 sysrq 的所有功能
2 允許控制終端日志級別
4 允許控制終端日志級別
8 允許調(diào)試進程dump
16 允許執(zhí)行sync命令
32 允許重新掛載文件系統(tǒng)為之讀
64 允許發(fā)送信號給進程(term,kill,oom-kill)
128 允許重啟/關(guān)機
256 允許調(diào)整實時任務(wù)的優(yōu)先級

如何使用SysRq

echo>/proc/sysrq-trigger

命令鍵 是區(qū)分大小寫的。

具體含義如下。

命令鍵 功能
b 將立即重啟系統(tǒng),不會同步或者卸載磁盤。
c 將執(zhí)行系統(tǒng) crash,如果配置了系統(tǒng) crashdump,將執(zhí)行 crashdump。
d 顯示所有持有的鎖。
e 發(fā)送 SIGTERM 信號給所有進程,除了 init 進程。
f 將調(diào)用 oom killer 殺掉一個過度占用內(nèi)存的進程,如果什么任務(wù)都沒殺, 也不會 panic。
g kgdb 使用(內(nèi)核調(diào)試器)。
h 將會顯示幫助。(實際上除了這里列舉的鍵,其他的都將顯示幫助, 但是 h 容易記住):-)
i 發(fā)送 SIGKILL 給所有進程,除了 init 進程。
j 強制性的 “解凍它” - 用于被 FIFREEZE ioctl 操作凍住的文件系統(tǒng)。
k 安全訪問秘鑰(SAK)殺掉在當(dāng)前虛擬控制臺的所有程序,注意:參考 下面 SAK 節(jié)重要論述。
l 顯示所有活動 cpu 的棧回溯。
m 將導(dǎo)出當(dāng)前內(nèi)存信息到你的控制臺。
n 用于使所有實時任務(wù)變成普通任務(wù)。
o 將關(guān)閉系統(tǒng)(如果配置和支持的話)。
p 將導(dǎo)出當(dāng)前寄存器和標(biāo)志位到控制臺。
q 將導(dǎo)出每個 cpu 上所有已裝備的高精度定時器(不是完整的 time_list 文件顯示的 timers)和所有時鐘事件設(shè)備的詳細信息。
r 關(guān)閉鍵盤的原始模式,設(shè)置為轉(zhuǎn)換模式。
s 將嘗試同步所有的已掛載文件系統(tǒng)。
t 將導(dǎo)出當(dāng)前所有任務(wù)列表和它們的信息到控制臺。
u 將嘗試重新掛載已掛載文件系統(tǒng)為只讀。
v 強制恢復(fù)幀緩存控制臺。
v 觸發(fā) ETM 緩存導(dǎo)出 [ARM 架構(gòu)特有]
w 導(dǎo)出處于不可中斷狀態(tài)(阻塞)的任務(wù)。
x 在 ppc/powerpc 架構(gòu)上用于 xmon 接口。在 sparc64 架構(gòu)上用于顯示全局的 PMU(性能監(jiān)控單元)寄存器。在 MIPS 架構(gòu)上導(dǎo)出所有的 tlb 條目。
y 顯示全局 cpu 寄存器 [SPARC-64 架構(gòu)特有]
z 導(dǎo)出 ftrace 緩存信息
0-9 設(shè)置控制臺日志級別,該級別控制什么樣的內(nèi)核信息將被打印到你的 控制臺。(比如 0 ,將使得只有緊急信息,像 PANICs or OOPSes 才能到你的控制臺。)

打印內(nèi)存使用信息

root@firefly:~#echom>/proc/sysrq-trigger
[3100.196187]sysrq:SysRq:ShowMemory
[3100.196675]Mem-Info:
[3100.196931]active_anon:48062inactive_anon:2987isolated_anon:0
[3100.196931]active_file:40449inactive_file:53540isolated_file:0
[3100.196931]unevictable:0dirty:22writeback:0unstable:0
[3100.196931]slab_reclaimable:10518slab_unreclaimable:6599
[3100.196931]mapped:44843shmem:3710pagetables:1568bounce:0
[3100.196931]free:810482free_pcp:497free_cma:0
[3100.199998]DMAfree:3241928kBmin:7920kBlow:9900kBhigh:11880kBactive_anon:192248kBinactive_anon:11948kBactive_file:161796kBinactive_file:214160kBunevictable:0kBisolated(anon):0kBisolated(file):0kBpresent:4030464kBmanaged:3933592kBmlocked:0kBdirty:88kBwriteback:0kBmapped:179372kBshmem:14840kBslab_reclaimable:42072kBslab_unreclaimable:26396kBkernel_stack:5792kBpagetables:6272kBunstable:0kBbounce:0kBfree_pcp:1988kBlocal_pcp:224kBfree_cma:0kBwriteback_tmp:0kBpages_scanned:0all_unreclaimable?no
[3100.204031]lowmem_reserve[]:000
[3100.204414]DMA:272*4kB(U)95*8kB(UM)177*16kB(UME)88*32kB(UME)50*64kB(UM)32*128kB(UM)6*256kB(UM)4*512kB(UM)2*1024kB(M)3*2048kB(UME)785*4096kB(M)=3241928kB
[3100.206208]Node0hugepages_total=0hugepages_free=0hugepages_surp=0hugepages_size=2048kB
[3100.206990]97710totalpagecachepages
[3100.207345]0pagesinswapcache
[3100.207679]Swapcachestats:add0,delete0,find0/0
[3100.208156]Freeswap=0kB
[3100.208425]Totalswap=0kB
[3100.208721]1007616pagesRAM
[3100.209003]0pagesHighMem/MovableOnly
[3100.209352]24218pagesreserved
root@firefly:~#

打印進程列表

root@firefly:~#echot>/proc/sysrq-trigger
[3357.426399]sysrq:SysRq:ShowState
[3357.426902]Calltrace:
[3357.427155][]__switch_to+0x94/0xbc
[3357.427759][]__schedule+0x334/0x65c
[3357.428249][]schedule+0x70/0x84
[3357.428762][]schedule_hrtimeout_range_clock+0x54/0xd8
[3357.429390][]schedule_hrtimeout_range+0x38/0x48
[3357.430004][]SyS_epoll_wait+0x2c0/0x334
[3357.430515][]SyS_epoll_pwait+0xb4/0x104
[3357.431057][]el0_svc_naked+0x24/0x28
[3357.431576]Calltrace:
[3359.224688]runnabletasks:
[3359.224688]taskPIDtree-keyswitchespriowait-timesum-execsum-sleep
[3359.224688]----------------------------------------------------------------------------------------------------------
[3359.226942]watchdog/531-8.99037584200.01041833.6399740.011083/
[3359.227935]migration/5320.0000001100.0064170.7036260.011083/
...............................
[3359.280491]rsyslogd62012549.402602311203.95971013.0672493000146.370846/
[3359.281483]gmain6492780.83708041201.4978750.23479142.333083/
[3359.282473]gdbus6536084.55846323512011.84550588.1433775894.875470/
[3359.283464]probing-thread6572798.85165811200.1712090.0463750.000000/
[3359.284458]gmain66613129.7470178421201.635792160.937875...............................
[3359.347891]kbase_event10875737.99119021000.0000000.0154160.022167/
[3359.348888]kworker/5:0141512729.712418635212094.661328379.266952300531.917073/
[3359.349880]kworker/5:1142113139.623478459212040.804756269.058278218093.165092/
[3359.350919]

打印 CPU 信息

root@firefly:~#echow>/proc/sysrq-trigger
[3461.098259]sysrq:SysRq:ShowBlockedState
[3461.099495]SchedDebugVersion:v0.11,4.4.194+#15
[3461.099987]ktime:3460974.551474
[3461.100559]sched_clk:3461099.486338
[3461.101163]cpu_clk:3461099.486629
[3461.101733]jiffies:4298128273
[3461.102303]
[3461.102457]sysctl_sched
...............................
[3461.106084]
[3461.476753]taskPIDtree-keyswitchespriowait-timesum-execsum-sleep
[3461.476753]----------------------------------------------------------------------------------------------------------
[3461.479007]watchdog/531-8.99037586800.01041834.6398090.011083/
[3461.479999]migration/5320.0000001100.0064170.7036260.011083/
[3461.480990]ksoftirqd/53312976.65500228212031.2629109.5779263226896.156313/
....................
[3461.598951]gdbus9815621.0432456312010.4294157.925751240.024166/
[3461.599945]kbase_event10875737.99119021000.0000000.0154160.022167/
[3461.600943]kworker/5:1142113242.484431632412056.331917371.919231300578.331580/
[3461.601934]kworker/5:0142413267.1288014161203.93226125.07966219671.560460/
[3461.602964]

顯示所有活動 cpu 的棧回溯

root@firefly:~#echol>/proc/sysrq-trigger
[3602.003162]sysrq:SysRq:ShowbacktraceofallactiveCPUs
[3602.003919]Calltrace:
[3602.004175][]dump_backtrace+0x0/0x220
root@firefly:~#[3602.004675][]show_stack+0x24/0x30
[3602.005233][]showacpu+0x68/0x84
[3602.005688][]flush_smp_call_function_queue+0x84/0x134
[3602.006303][]generic_smp_call_function_single_interrupt+0x18/0x20
[3602.007007][]handle_IPI+0x19c/0x260
[3602.007490][]gic_handle_irq+0x12c/0x184
[3602.007995]Exceptionstack(0xffffffc0f2f1fd90to0xffffffc0f2f1fec0)
[3602.008580]fd80:00000000000000000000000000000003
[3602.009284]fda0:00000040ee976000000000000000002000ffffffffffffff0000001425865f85
[3602.009988]fdc0:000000000004b382000000000000000300000032b5593519ffffff8008081800
[3602.010691]fde0:000000000000100000000000000000000000000034d5d91d00000040ee976000
[3602.011394]fe00:ffffffc0f2f0a880000000000000000000000000000000000000000000000000
[3602.012098]fe20:0000000030d0080000000346a09ab4640000000000000002ffffffc00a4bac00
[3602.012801]fe40:ffffff80097ace1800000000000000010000034697fd8dddffffff800974e488
[3602.013504]fe60:0000000001ab400000000000010f82440000000000000000ffffffc0f2f1fec0
[3602.014209]fe80:ffffff8008b9eb10ffffffc0f2f1fec0ffffff8008b9eb140000000060000145
[3602.014912]fea0:ffffffc0f2f1fec0ffffff8008b9eb10ffffffffffffffff0000000000000002
[3602.015615][]el1_irq+0xb4/0x140
[3602.016070][]cpuidle_enter_state+0x1cc/0x25c
[3602.016624][]cpuidle_enter+0x34/0x44
[3602.017112][]call_cpuidle+0x6c/0x74
[3602.017598][]cpu_startup_entry+0x2ac/0x2bc
[3602.018128][]secondary_start_kernel+0x190/0x1bc
[3602.018700][<00000000010f8188>]0x10f8188

觸發(fā) Crashdump

root@firefly:~#echoc>/proc/sysrq-trigger
[3635.905960]sysrq:SysRq:Triggeracrash
[3635.906476]UnabletohandlekernelNULLpointerdereferenceatvirtualaddress00000000
[3635.907201]pgd=ffffffc0d4a3e000
[3635.907640][00000000]*pgd=0000000000000000,*pud=0000000000000000
[3635.908305]Internalerror:Oops:96000045[#1]SMP
..............................................................
[3648.331820]Exceptionstack(0xffffffc0cd8cbb30to0xffffffc0cd8cbc60)
[3648.332405]bb20:ffffff800967ff680000008000000000
[3648.333108]bb40:ffffffc0cd8cbd00ffffff80085bb538000000000000000f0000000000000000
[3648.333811]bb60:ffffff80097f72f80000000000000002ffffffc0cd8cbb90000000030003c018
[3648.334514]bb80:00000000000000c30000000100000000ffffffc0cd8cbc30ffffff800810d674
[3648.335218]bba0:ffffffc0cd8cbc90ffffff80092b55d1ffffff80095fa0000000000000000006
[3648.335921]bbc0:0000000000000063000000000000000000000000000000010000000000000000
[3648.336623]bbe0:ffffffc0f7ee8320000000000000000000000000000000000000000000000000
[3648.337327]bc00:0000000000000010ffffff800965ead8ffffff80084783987f7f7f7f7f7f7f7f
[3648.338029]bc20:71277660716d73ff7f7f7f7f7f7f7f7f01010101010101010000000000000000
[3648.338733]bc40:0ffffffffffffffe0000000000000000ffffff80081e5cb80000007f8147b8c8
[3648.339434][]el1_da+0x24/0x8c
[3648.339873][]__handle_sysrq+0xa0/0x14c
[3648.340379][]write_sysrq_trigger+0x5c/0x74
[3648.340911][]proc_reg_write+0xa8/0xcc
[3648.341406][]__vfs_write+0x48/0xe8
[3648.341877][]vfs_write+0xa8/0x15c
[3648.342338][]SyS_write+0x5c/0xb0
[3648.342798][]el0_svc_naked+0x24/0x28

總結(jié)

SysRq 在處理系統(tǒng)掛起時安全重啟方面已經(jīng)比較完善了。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1363

    瀏覽量

    40228
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10825

    瀏覽量

    211151
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3002

    瀏覽量

    73885
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    572

    瀏覽量

    33898

原文標(biāo)題:【調(diào)試】sysRq鍵使用方法

文章出處:【微信號:嵌入式與Linux那些事,微信公眾號:嵌入式與Linux那些事】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    flashpgm使用方法教程

    flashpgm使用方法教程上機操作指南一: 硬件安裝按照下圖連接好硬件設(shè)備二: 安裝軟件1: 裝好ads1.2安裝ADS1.21.1 解壓縮開文件,運行ARM ADS1.2下
    發(fā)表于 03-26 21:29

    轉(zhuǎn):Keil的使用方法 - 常用功能(二)

    Ⅰ、概述 上一篇文章是總結(jié)關(guān)于Keil使用方法-常用功能(一),關(guān)于(文件和編譯)工具欄每一個按鈕的功能描述和快捷的使用。我將每一篇Keil使用方法的文章都匯總在一起,回顧前面的總結(jié)請點擊下面
    發(fā)表于 06-13 10:42

    計算機基礎(chǔ)知識截屏,電腦截屏技巧 截圖快捷是什么 精選資料分享

    電腦截屏技巧 截圖快捷是什么在我們?nèi)粘J褂秒娔X不管是工作還是娛樂都經(jīng)常會使用到截圖功能,下面我們來介紹使用截圖快捷來實現(xiàn)快速截圖的方法。目前我們比較常用的有3種截圖快捷,分別是全
    發(fā)表于 09-08 07:17

    示波器的使用方法

    示波器的使用方法 1 示波器使用        本節(jié)介紹示波器的使用方法。示波器種類、型號很多,功能也不同。
    發(fā)表于 01-14 13:06 ?1.8w次閱讀

    Matlab使用方法和程序設(shè)計

    Matlab使用方法和程序設(shè)計 實驗一 Matlab使用方法和程序設(shè)計一、
    發(fā)表于 10-17 00:18 ?5378次閱讀
    Matlab<b class='flag-5'>使用方法</b>和程序設(shè)計

    示波器的使用方法

    數(shù)字萬用表使用方法和示波器的使用方法詳解。
    發(fā)表于 03-14 10:38 ?32次下載

    Proteus常用快捷使用方法

    Proteus 常用快捷使用方法 1.proteus中怎樣使用模板 file--〉new design:在彈出的對話框就可以選擇模板了 file--〉save design
    發(fā)表于 09-07 20:13 ?7次下載

    xilinx 原語使用方法

    xilinx 原語使用方法
    發(fā)表于 10-17 08:57 ?11次下載
    xilinx 原語<b class='flag-5'>使用方法</b>

    ORCAD PSPICE 使用方法

    ORCAD PSPICE 使用方法
    發(fā)表于 10-18 14:52 ?39次下載
    ORCAD PSPICE <b class='flag-5'>使用方法</b>

    xilinx原語使用方法

    xilinx原語使用方法
    發(fā)表于 10-19 08:50 ?15次下載
    xilinx原語<b class='flag-5'>使用方法</b>

    git使用方法

    git使用方法
    發(fā)表于 10-24 09:45 ?19次下載
    git<b class='flag-5'>使用方法</b>

    示波器的使用方法(三):示波器的使用方法詳解

    示波器的使用方法并非很難,重點在于正確使用示波器的使用方法。往期文章中,小編對模擬示波器的使用方法和數(shù)字示波器的使用方法均有所介紹。為增進大家對示波器的
    的頭像 發(fā)表于 12-24 20:37 ?3190次閱讀

    sysRq使用方法

    SysRq是一個魔術(shù)案件,只要在內(nèi)核沒有完全卡死的情況下,內(nèi)核都會相應(yīng)SysRq 的輸入,使用這些組合都可以搜集包括系統(tǒng)內(nèi)存使用、CP
    的頭像 發(fā)表于 02-17 15:55 ?1436次閱讀

    proc/sysrq-trigger節(jié)點用法

    /proc/sysrq-trigger 這個節(jié)點是最近調(diào)試穩(wěn)定性的時候接觸的,完整的內(nèi)容可以參考內(nèi)核目錄下 /kernel-4.9/Documentation/sysrq.txt,這里只寫出常用部分
    的頭像 發(fā)表于 07-22 11:38 ?1528次閱讀

    什么是SysRq 內(nèi)核配置選項

    SysRqSysRq 被內(nèi)核稱為“ Magic SysRq key ”,即“ 神奇的系統(tǒng)請求 ”。 簡單來說,就是可以 通過鍵盤的按鍵獲取內(nèi)核的信息 ,用于調(diào)試。相當(dāng)于是一個
    的頭像 發(fā)表于 09-26 16:42 ?743次閱讀