CPU 속도 스테핑은 (예를 들어) htop에 보고된 CPU 사용률에 어떤 영향을 줍니까?

CPU 속도 스테핑은 (예를 들어) htop에 보고된 CPU 사용률에 어떤 영향을 줍니까?

CPU 속도 스테핑은 (예를 들어) htop에 보고된 CPU 사용률에 어떤 영향을 줍니까? 일반 상의는 어때요?

그렇다면 내 CPU가 2ghz의 최고 속도로 800mhz로 감소된 경우 5% 사용은 CPU가 0.05 * 800 = 4천만 사이클 사용됨을 의미합니까, 아니면 0.05 * 2000 = 1억 사이클 사용됨을 의미합니까?

답변1

접근 방식의 차이점에 대한 합리적인 설명을 찾는 데 어려움을 겪고 있지만 다음과 같습니다.

~ 안에리눅스를 사용하면 htopCPU 사용률은현재 클럭 속도. CPU가 완전히 다운되면 유휴 상태에 가까운 백그라운드 프로세스가 10초 후에 실행되어 CPU의 스텝 업을 유발할 수 있는 "활성" 프로세스와 비교하면 실제보다 훨씬 더 바쁜 것처럼 보일 수 있습니다.

여기에 정말 좋은 답변이 있습니다 (https://unix.stackexchange.com/a/58541/9854) 이것이 어떻게 작동하는지 설명합니다. 기본적으로 시스템은 "시계 틱"을 추적하고, htop은 주어진 시간 동안 (순간/당시) 클럭 속도를 확인하여 이를 백분율로 변환합니다. 이 방법론은 때로는 100%가 넘는 수치를 산출하는 것처럼 보이지만 이를 정규화/제한해야 한다고 생각합니다.

이것은~ 아니다작업 관리자가 어떻게 작동하는 것 같습니다.윈도우CPU 사용률을 보고합니다. CPU의 일부 "표준" 100% 용량과 관련된 사용량에 초점을 맞춘 것 같습니다(오버클럭 및 터보 부스트의 세계에서 100%가 무엇인지 어떻게 결정하는지 잘 모르겠습니다).

이 차이점의 한 가지 예는 정확히 동일한 상황에서 정상적인 900MHz 유휴 및 3600Mhz 사용이 아닌 내 CPU가 병리학적으로 200MHz로 낮아졌을 때 Linux htop은 "CPU 용량이 패닉 패닉을 초과했습니다"라고 보고하는 반면 Windows는 "안녕하세요, 모든 것이 괜찮아요. 마우스 커서를 추적할 만큼 CPU 처리량이 충분하지 않음에도 불구하고 CPU는 완전히 활용도가 낮습니다...

현재 수행 중인 작업을 알고 있으면 두 위치 모두에서 이러한 상황을 "이해"할 수 있습니다.

  • Windows(10)에서 "자세히 보기"가 열린 상태에서 성능 탭, CPU 섹션으로 전환하여 현재 CPU 주파수를 확인할 수 있습니다.
  • Linux에서는 를 사용 htop하여 설정하고 F2"표시 옵션"에서 "CPU 주파수도 표시" 상자를 선택합니다. 이렇게 하면 활용도 수치가 상황에 맞게 배치됩니다.

답변2

스테핑은 상관없습니다. 5%는 CPU 코어가 5%의 시간 동안 유용한 작업을 수행했음을 의미합니다.

그런 식으로 속도를 분수로 곱하지 마십시오. 그렇게 해서 얻는 숫자는 기본적으로 의미가 없습니다. 당신이 얻는 "40Mhz"는 의미없는 숫자입니다. 40MHz에서는 아무 일도 일어나지 않았습니다.

관련 정보