나는 우분투가 설치된 내 컴퓨터에 리눅스 2.6.x 커널을 사용하고있다. (우분투는 방금 언급 한 바있다.) 커널은 8 개의 코어가있는 시스템에서 실행됩니다. 기계도 openvz를 실행하지만 이것이 질문의 컨텍스트를 변경하지 않는다고 생각합니다.cpumask는 리눅스 커널의 다른 프로세스 스케줄링에 어떤 영향을 줍니까?
두 개의 CPU 사용을 허용하고 첫 번째 두 CPU에 하드 CPU 선호도를 설정하는 소프트웨어가 설치되어 있습니다 (cpumask 3). 나는 다른 프로세스의 스케줄링이 어떻게 영향을 받는지 스스로에게 묻고있다. 나는 그것에 대해 뭔가 읽은 것 같지만 지금은 프로세스가 첫 번째 CPU에 연결될 가능성이 있다고 가정합니다. 그리고 커널은 캐시 무효화를 피하기 위해 동일한 CPU에 프로세스를 항상 유지하려고합니다.
컴퓨터에는 상당히 많은 프로세스가 실행 중입니다. 커널은이 상황을 어떻게 처리합니까? 혼잡 한 영역에 바인딩되는 동안 영향을 받기 때문에 프로세스가 느리게 실행되는 하드 CPU 친화력 프로세스 일 수 있습니까? 커널은 하드 어피 니티를 어떻게 신경 씁니까?
하드웨어 인터럽트가 일부 첫 번째 CPU에서도 잠길 수 있습니다. 또한 NUMA가 있으면 프로세스와 데이터를 닫아두기위한 커널 노력이 필요합니다. 그러나 1 & 2 CPU에 잠긴 (그리고 두 CPU가 활발하게 사용되는) 소프트웨어가있는 경우 다른 소프트웨어가 코어 3-8에서 계획 될 확률이 적어로드가 적습니다. – osgx