Linux CFS는 vruntime을 기준으로 덜 실행된 태스크가 CPU를 받을 기회를 늘립니다.
현대 OS 스케줄링 진단 기준
현대 스케줄러는 공정성, 캐시 지역성, NUMA 거리, cgroup 제한을 동시에 고려해 CPU 시간을 나눕니다.
01vruntime
02affinity
03load balance
04NUMA
05cgroup
같은 CPU에 머무르면 cache locality가 좋아지지만 부하 불균형이 생길 수 있습니다.
프로세스와 메모리가 다른 노드에 있으면 원격 접근 지연이 스케줄링 결과를 바꿉니다.
nice는 상대 우선순위, cgroups는 컨테이너와 서비스 단위 CPU quota를 제어합니다.