top에서 왜 잘못된 CPU 사용량을보고합니까?


10

Intel(R) Xeon(R) CPU E552016 개의 논리 코어 (HT가있는 8 개)로 보이는 머신이 있습니다. CPU 시간 (싱글 스레드)을 먹기 위해 무언가를 실행하면 프로세스의 CPU 사용량이 100 %이지만 총 사용량은 약 3-4 %입니다.

Cpu(s):  3.6%us,  0.0%sy,  0.0%ni, 96.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.1%st

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1567 www       20   0 65632   84    4 R  100  0.0   0:05.96 burnMMX

반드시보고 된 사용량은 ~ 6.25 % (16 개 코어 중 1 개) 여야합니다.

  • 가상 머신이기 때문에 올바르지 않습니까?
  • 올바른 값을 어떻게 계산할 수 있습니까?
linux  cpu  top 

1
atop눌러 각 CPU의 사용량을 개별적으로보고하도록 상단을 변경 하려고 할 수 있습니다 (을 누름 1)
Hubert Kario

@HubertKario 각 코어에 대해보고 된 사용법이 정확하므로 왜 총계가 잘못 되었습니까?

개별 코어의 사용 수준이 정확하다면 이것은 소리가 나지 않는 한 상단에 버그가 있음을 시사합니다.
Hubert Kario

이것은 VM에서 잘못된 상위 결과에 대한 첫 번째 게시물이 아닙니다. VM 기술과 호스트 및 게스트 운영 체제를 설명 할 수 있습니까?
Nils

@ Nils Xen과 Ubuntu / 2.6.32-21- 서버 게스트. 호스트 OS에 대한 정보가 없습니다.

답변:


12

top요약에서 모든 코어가 추가 된 CPU와 관련된 사용량을보고합니다. 반면에 프로세스 목록을 볼 때 최고 코어 비율은 한 코어 (실제 또는 HT)를 기준으로합니다. 4 개의 CPU 코어를 사용할 수있는 4 개의 스레드로 프로세스를 실행하면 400 % CPU를 사용하게됩니다.

이유를 알 수는 없지만 top내가 본 모든 Linux 시스템에서 작동 하는 방식입니다.


5

대부분의 경우 top설명과 같이 기본적으로 'Irix'모드에서 작동합니다. 총 CPU 용량의 백분율을 얻으려면 (예 : 가능한 CPU 사용량의 합이 cpu_cores_number * 100 %가 아닌 100 %까지 추가되는 경우)을 눌러 'Irix'모드를 전환하십시오 I.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.