Linux에서 예약 도메인을 시각화하는 방법은 무엇입니까?

Linux에서 예약 도메인을 시각화하는 방법은 무엇입니까?

현재 Linux 버전에서는스케줄링 도메인CPU, 하이퍼스레딩, NUMA 노드 등에 프로세스를 분산합니다.

시스템에 존재하는 도메인과 작업이 도메인 간에 분배되는 방식과 관련된 일부 통계를 시각화하고 싶다고 가정해 보겠습니다. 문제는 다음과 같습니다.

  • 이 시스템에는 어떤 도메인이 존재합니까?
  • 각 NUMA 노드/물리적 코어/기타 도메인이 균등하게 활용되고 있습니까? 아니면 프로세스가 일부 코어에 액세스하기 위해 경쟁하는 반면 다른 프로세스는 활용도가 낮습니까?
  • 프로세스는 얼마나 자주 마이그레이션됩니까?

그러한 요구를 충족시키기 위해 어떤 도구를 사용할 수 있습니까?

답변1

  • 논리적 CPU에서 NUMA 노드 배열로의 경우:

    lscpu
    

    또는:

    numactl --hardware
    

    또한 노드 메모리 및 노드 "거리"에 대한 실시간 정보도 표시합니다.

  • 프로세스 메모리 사용량에 대한 일반 정보:

    numastat -p <PID_or_name_pattern>
    

    가방에서 numactl.

  • 더 복잡한 도구의 경우:

    numatop
    

    (맨페이지에 따르면 Intel Xeon 및 일부 IBM 프로세서만 지원합니다)

다음 코어가 바쁘게 작동하는 동안 유휴 코어를 보면 매우 놀랄 것입니다(물론 cpuset을 사용하여 시스템을 이 상태로 강제로 설정하지 않는 한). 간단한 top히트를 사용하여 1각 CPU의 활동을 볼 수 있습니다.

답변2

JP Lozi가 2016년 논문 "Linux Scheduler: a Decade of Wasted Cores"를 위해 만든 도구는 다음에서 찾을 수 있습니다.https://github.com/jplozi/wastedcores 비슷한 것을 찾고 있다면. 다양한 벤치마크 실행에 대한 다양한 그래픽 출력은 다음 위치에 있습니다. http://sfu.lozi.org/results/

나는 그것을 사용하지 않았으므로 가용성을 보장할 수 없습니다. 4.1 Linux 커널에 대해 마지막으로 업데이트된 것 같습니다.

관련 정보