파티셔닝(격리)을 위해 어떤 CPU가 튜닝을 사용하는지 보여주는 커널 데이터 구조는 무엇입니까?

파티셔닝(격리)을 위해 어떤 CPU가 튜닝을 사용하는지 보여주는 커널 데이터 구조는 무엇입니까?

이는 Red Hat Linux 7.9, 커널 3.10.0-1160.71.1에서 작동합니다.

어떤 CPU가 조정된 격리를 사용하고 있는지 보여주기 위해 어떤 커널 데이터 구조를 사용할 수 있는지 알고 싶습니다. 이는 isolcpus커널 명령줄 인수를 사용 하여 이 작업을 수행하는 것이 아니라 tuned-adm profile cpu-partitioning.

cat /etc/tuned/cpu-partitioning-variables.conf참고: 저는 그런 일도 하고 싶지 않습니다 tr ' ' '\n' < /proc/cmdline | grep tuned.non_isolcpus. 분명히 나는 ​​그것을 할 수 있습니다.

왜 검열을 하지 않는가 tuned.non_isolcpus? 아마도 예를 들어 설명할 수 있을 것입니다. 시스템에 설정할 수 있습니다 /etc/tuned/cpu-partitioning-variables.conf. no_balanace_cores다시 시작한 후 cat /run/tuned/no-balance-cpus.txt설정을 확인할 수 있습니다. 그러나 예를 들어 다음과 같이 할 수도 있습니다.

# grep . /proc/sys/kernel/sched_domain/cpu15/domain*/flags
/proc/sys/kernel/sched_domain/cpu15/domain0/flags:4655
/proc/sys/kernel/sched_domain/cpu15/domain1/flags:25647

뒤를 돌아보면https://elixir.bootlin.com/linux/v3.10/source/include/linux/sched.h#L769그리고https://elixir.bootlin.com/linux/v3.10/source/kernel/sched/core.cSD_LOAD_BALANCE, 당신은 그것을 볼 수 있습니다 0x0001. 위의 숫자가 홀수이므로 제 경우에는 CPU 15에 로드밸런싱을 하지 않겠습니다. 이는 시스템이 커널에 수행하라고 지시하는 내용을 나타내는 것이 아니라 CPU의 실제 설정을 반영한 것입니다.

유사한 정보를 포함하지만 CPU 격리에 관한 데이터 구조가 /proc 또는 /sys에 있습니까? 구체적으로 조정에 대해 말씀해 주시겠습니까?

나는 결과 없이 /proc, /sys 및 Google을 검색하는데 몇 시간을 보냈습니다. 감사해요.

관련 정보