1 .. include:: ../disclaimer-zh_TW.rst 2 3 :Original: Documentation/admin-guide/lockup-wa 4 :Translator: Hailong Liu <liu.hailong6@zte.com. 5 6 .. _tw_lockup-watchdogs: 7 8 9 ============================================== 10 Softlockup與hardlockup檢測機制(又名:nmi 11 ============================================== 12 13 Linux中內核實現了一種用以檢測系 14 15 Softlockup是一種會引發系統在內核態 16 其他任務沒有機會得到運行的BUG。 17 印當前堆棧跟蹤信息並進入鎖定狀 18 狀態;通過sysctl命令設置“kernel.sof 19 “softlockup_panic”(詳見Documentation/a 20 能內核編譯選項“BOOTPARAM_SOFTLOCKUP_P 21 22 而'hardlockup'是一種會引發系統在內 23 他中斷沒有機會運行的缺陷。與'sof 24 'hardlockup_panic'、使能內核選項“BOOT 25 "nmi_watchdog"(詳見:”Documentation/admin-g 26 測到'hardlockup'默認情況下系統打印 27 28 這個panic選項也可以與panic_timeout結 29 sysctl命令"kernel.panic"來設置),使 30 31 實現 32 ==== 33 34 Softlockup和hardlockup分別建立在hrtimer( 35 這也就意味着理論上任何架構只要 36 37 Hrtimer用於週期性產生中斷並喚醒wat 38 (編譯時默認初始化爲10秒,也可通 39 爲間隔週期產生以檢測 hardlockups。 40 斷髮生,'hardlockup 檢測器'(即NMI perf 41 警告或者直接panic。 42 43 而watchdog線程本質上是一個高優先 44 如果時間戳在2*watchdog_thresh(這個是s 45 "softlocup 檢測器"(內部hrtimer定時器 46 然後如果系統配置了進入panic流程 47 48 Hrtimer定時器的週期是2*watchdog_thresh/ 49 2~3次機會產生時鐘中斷。 50 51 如上所述,內核相當於爲系統管理員 52 的調節旋鈕。如何通過這個旋鈕爲 53 響應速度和lockups檢測開銷這二者之 54 55 默認情況下所有在線cpu上都會運行 56 情況下watchdog線程默認只會運行在 57 定的cpu上則不會有watchdog線程運行 58 定的cpu上運行,這些cpu上必須得運 59 使”nohz_full“保護用戶程序免受內 60 的cpu即使在內核產生了lockup問題我 61 線程在管家(non-tickless)核上繼續運 62 事件。 63 64 不論哪種情況都可以通過sysctl命令k 65 的cpu集合進行調節。對於nohz_full而 66 這種方式打開這些cpu上的watchdog進 67
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.