Etc

Magic SysRq key

착한아줌마 2018. 3. 16. 16:55
반응형

 

 

 

개요

- magic system request key의 줄임말

- kernel.org에서의 설명



It is a ‘magical’ key combo you can hit which the kernel will respond to regardless of
whatever else it is doing, unless it is completely locked up.

  -> 시스템이 lock상태가 아닌한 무슨 작업을 하고 있더라도 커널이 반응하는 마법의 key 조합 !

 

- 리눅스에서 기본값 확인

 

 

  -> 기본값은 1이며, magic sysrq 기능이 활성화 되었는 것

  -> 0으로 변경하면 비활성화

  -> sysctl로 kernel.sysrq값을 변경하면 됨

  -> 1보다 큰 값은 값에 따라 sysrq로 확인할 수 있는 정보에 대해 제한을 둘 수 있다고 함

                                                               (자세한 내용은 글아래 kernel.org를 참조)

 

 

 

사용

- 기본적으로 리눅스 서버 자체에서 사용할 수도 있음

 

- 대부분의 장비는 linux가 기반인 os로 장비가 알 수 없는 이유로 먹통일 때 사용하는, 사용해본 내용을 정리하겠음

 

1. console을 연결하고 터미널 프로그램을 사용하여 장비에 접속시도

 

 

 

2. 터미널 프로그램에서 지원하는 special command 중 send break 클릭(또는 사용)

  * 예로 상용프로그램인 PuTTY와 Tera Term을 사용하였음

 

  <PuTTY>

 

  <Tera Term> - 단축키 지원: Alt+b

 

 

3. magic sysrq key를 누름

   * 예로 magic sysrq key로 커널에서 받아올 로그레벨을 최대로 변경하기 위해 9 입력

 

  <PuTTY>

 

  <Tera Term>

 

   * 아래는 magic sysrq key 종류 중 사용해보거나 사용할 수있을만한 키만 추린 것

 

    send break + 9: 로그레벨변경 (0~9까지 9가 최대)

    send break + t : 현재 수행중인 프로세스? 목록 (dump a list of current tasks)

    send break + p: 현재 레지스트와 플래그 상태 (dump the current registers and flags)

    send break + m: 현재 메모리 상태 (dump current memory info)

    send break + w: block상태인 프로세스? 목록 (Dumps tasks that are in uninterruptable (blocked) state)

 

 

 

다른 결과화면

  * m키를 이용해 메모리 상태 확인

 

  <PuTTY>

 

  <Tera Term>

 

 

** 일부 장비에서는 활성화가 되어있지 않아 먹히지 않을 수 있다

 

 

 

 

 참조 https://www.kernel.org/doc/html/v4.11/admin-guide/sysrq.html