저는 WSL(Linux용 Windows 하위 시스템)을 사용하고 있습니다. 최근에 프로세스의 CPU 사용량을 더 잘 이해하려고 노력했지만 혼란스럽습니다. 내 컴퓨터에는 2개의 코어와 4개의 논리 코어가 있습니다.
제가 논의하고 싶은 CPU 사용 예에서는 DFT 코드(물리 콘텐츠)를 통해 2개의 터미널에서 2개의 독립적인 직렬 계산을 시작했습니다. Windows에 다른 작은 프로세스가 열려 있습니다(인터넷 탭, Thunderbird...).
Windows 작업 관리자에서 CPU 사용량을 확인하면 CPU의 약 70%를 사용하고 있다고 나와 있는데, 이는 4개의 논리 프로세서에 고르게 분산되어 있는 것 같습니다.
Linux에서 이 명령을 사용 하면 top
각각 ~100%의 CPU(!)를 사용하는 두 개의 "pw.x" 프로세스(제가 언급하는 컴퓨팅)가 표시됩니다. "100%" 값이 무엇을 의미하는지 이해가 되지 않습니다. 나는 이것이 표시된 모든 코어의 평균이라고 생각합니다. 내 컴퓨터는 여전히 원활하게 작동하므로 DFT 코드가 CPU 장치를 모두 사용할 수 없습니다.
find 를 사용하면 mpstat -P ALL
다른 결과가 나타납니다. 즉, 4개의 프로세서 각각이 약 20%-30%로 사용된다는 것을 알 수 있습니다... 이것이 Windows 진단과 일치합니까? 아니면 top 명령을 사용합니까?
요약은 아래 스크린샷을 참조하세요(Windows의 프랑스어는 죄송합니다).
간단히 말해서 질문은 다음과 같습니다.
이러한 서로 다른 진단이 서로 일치합니까?
누군가 이러한 모니터링 명령이 사용되는 용도와 보고된 숫자가 정확히 무엇을 참조하는지 명확하게 설명하는 초보자를 위한 참조 리소스를 알려줄 수 있습니까?
어떤 코어가 무엇을 하고 있는지 알려주는 명령이 있나요? 나는 직렬 계산(병렬화되지 않음)을 실행하고 있으며 내가 아는 한 계산은 단일 코어에서 처리되지만 틀릴 수도 있습니다. 그렇다면 각 계산이 어느 코어에 들어가고 몇개나 사용되는지 알고 싶습니다.