Linux 커널이 선점 형인지 비선 점형인지 확인하고 싶습니다. 다음과 같은 명령을 사용하여 이것을 어떻게 확인할 수 uname -a
있습니까?
답변
커널이 선점 형인지 여부는 Linux 커널에서와 같이 선점하려는 대상에 따라 달라지며 선점을 별도로 활성화 / 비활성화 할 수있는 여러 가지가 있습니다.
커널이 활성화 CONFIG_IKCONFIG
하고 CONFIG_IKCONFIG_PROC
활성화 한 /proc/config.gz
경우 다음을 통해 선점 구성을 찾을 수 있습니다 (없는 경우 일부 배포판은 커널 구성을 /boot
대신 제공합니다).
$ gzip -cd /proc/config.gz | grep PREEMPT
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_PREEMPT_TRACER is not set
CONFIG_IKCONFIG
하지만 아직 가지고 있지 않은 CONFIG_IKCONFIG_PROC
커널 커널 이미지에서 커널 이미지를 얻을 수 있습니다 extract-ikconfig
.
답변
선점 가능한 커널 (대기 시간이 짧은 데스크탑) PREEMPT
의 버전 이름 ( uname -a
)으로 태그 가 지정되었습니다 . 이것은 또한 /proc/version
주어진 커널에서 모듈을로드 할 수 있는지 여부를 결정하는 데 사용되는 “version magic”문자열에 표시됩니다 (예 :
mymodule: version magic '3.4.35 mod_unload ARMv7 p2v8 '
should be '3.4.35 preempt mod_unload ARMv7 p2v8 '
에 대한 태그가 없습니다 CONFIG_PREEMPT_VOLUNTARY
.