在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

sysRq鍵使用方法

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

SysRq鍵簡介

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

配置

內核配置選項中要使能CONFIG_MAGIC_SYSRQ選項,這樣系統啟動之后,會生成/proc/sysrq-trigger節點用于調試。

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

kernel.sysrq=1

執行下列命令,使修改生效。

sysctl-p

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

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

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

如何使用SysRq

echo>/proc/sysrq-trigger

命令鍵 是區分大小寫的。

具體含義如下。

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

打印內存使用信息

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

觸發 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

總結

SysRq 在處理系統掛起時安全重啟方面已經比較完善了。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內核
    +關注

    關注

    3

    文章

    1376

    瀏覽量

    40319
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10879

    瀏覽量

    212184
  • 內存
    +關注

    關注

    8

    文章

    3037

    瀏覽量

    74143
  • 調試
    +關注

    關注

    7

    文章

    582

    瀏覽量

    33974

原文標題:【調試】sysRq鍵使用方法

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

收藏 人收藏

    評論

    相關推薦

    flashpgm使用方法教程

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

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

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

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

    電腦截屏技巧 截圖快捷是什么在我們日常使用電腦不管是工作還是娛樂都經常會使用到截圖功能,下面我們來介紹使用截圖快捷來實現快速截圖的方法。目前我們比較常用的有3種截圖快捷,分別是全
    發表于 09-08 07:17

    示波器的使用方法

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

    Matlab使用方法和程序設計

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

    示波器的使用方法

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

    Proteus常用快捷使用方法

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

    xilinx 原語使用方法

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

    ORCAD PSPICE 使用方法

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

    xilinx原語使用方法

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

    git使用方法

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

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

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

    sysRq使用方法

    SysRq是一個魔術案件,只要在內核沒有完全卡死的情況下,內核都會相應SysRq 的輸入,使用這些組合都可以搜集包括系統內存使用、CP
    的頭像 發表于 02-17 15:55 ?1486次閱讀

    proc/sysrq-trigger節點用法

    /proc/sysrq-trigger 這個節點是最近調試穩定性的時候接觸的,完整的內容可以參考內核目錄下 /kernel-4.9/Documentation/sysrq.txt,這里只寫出常用部分
    的頭像 發表于 07-22 11:38 ?1663次閱讀

    什么是SysRq 內核配置選項

    SysRqSysRq 被內核稱為“ Magic SysRq key ”,即“ 神奇的系統請求 ”。 簡單來說,就是可以 通過鍵盤的按鍵獲取內核的信息 ,用于調試。相當于是一個
    的頭像 發表于 09-26 16:42 ?787次閱讀
    主站蜘蛛池模板: 国产午夜视频| 色爱综合区五月小说| 全亚洲最大的777io影院| 久久久精品免费热线观看| 久久精品波多野结衣| 成人深夜视频| 天天干天天射天天爽| 天天干天天拍天天射| 美女天天干| 四虎永久免费地ww4hu57| 亚洲色图27p| 啪啪国产视频| xxxx日本69护士| 激情婷婷在线| 亚洲成年| 三级免费观看| 激情网址在线观看| 在线免费看黄的网站| 久久久久青草| 国产精品久久久久久久久kt| 悠悠影院欧美日韩国产| 久久美女精品| 亚洲播放| 四虎影院色| 久久黄色视屏| 天天视频国产免费入口| 99福利| 日本口工全彩无遮拦漫画大| 37pao强力打造免费高速高清| 欧美日本视频一区| 天堂网成人| 久久久久久久国产视频| 一级片免费看| 99久免费精品视频在线观看2| 色爱区综合五月激情| 四虎影视在线影院4hutv| 午夜欧美日韩| 免费日本网站| 午夜啪| 男人视频在线观看| 亚洲国产精品久久婷婷|