CentOS 7 - 격리된 코어는 실제로 격리되지 않습니다.

CentOS 7 - 격리된 코어는 실제로 격리되지 않습니다.

나는 각각 8개의 물리적 CPU를 갖춘 한 쌍의 CentOS 7 서버(2009년 9월 7일 기준)를 가지고 있습니다. 이 중 코어 4~8(OS에서는 3~7이라고 생각함)을 분리하려고 합니다.

isolcpus=3-7매개 변수 /etc/default/grub뒤에 태그를 추가하고 GRUB_CMDLINE_LINUX실행하여 grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg새 구성 파일을 생성한 후 다시 시작했습니다.

두 서버 모두 다음과 같은 설정을 따릅니다. /sys/devices/system/cpu/isolated이는 내가 지정한 코어 3-7을 표시합니다.

그러나 관련하여하나systemd서버에는 시스템 프로세스( 등 )이 실행되는 소위 코어가 하나만 있으며 lvmetad, 여러 번 재부팅하더라도 OS는 실제로 코어 격리를 준수하지 않는 것 같습니다.

이 명령을 사용하여 numactl어떤 코어도 격리되었는지 확인했는데 출력은 서버마다 달랐습니다(명령은 다음과 같습니다) numactl -s | grep physcpubind.

서버 1(격리 준수):

physcpubind: 0 1 2 3

서버 2(격리를 고려하지 않음):

physcpubind: 4 5 6 7

이 문제의 원인과 해결 방법이 무엇인지 매우 혼란스럽습니다. 어떤 조언이라도 주시면 대단히 감사하겠습니다.

감사합니다!

답변1

두 번째 서버의 CPU 0-3은 어디에 있습니까?

numactl 출력에 따르면 어떤 이유에서인지 4~7개만 온라인 상태인 것으로 보이며 이를 격리하면 부팅 CPU를 격리할 수 없기 때문에 커널이 isolcpus 매개변수를 무시합니다. 시도하거나 isolcpus=0-3,5-7확인해 보세요 isolcpus=5-7. 마지막 온라인 CPU 이후에 CPU를 분리하는 것도 동일한 효과를 가질 수 있지만 커널에 제공되는 하드웨어 정보에 따라 달라지므로 어떤 경우에는 작동하지만 다른 경우에는 작동하지 않을 수 있습니다.

lscpu -p두 서버의 출력은 추가 문제 해결에 도움이 됩니다. 또한 시작 후 dmesg에서 cpus 또는 isolcpus 명령줄 옵션과 관련된 예외 메시지를 확인하세요.

관련 정보