로드 측정 - 상단의 %CPU가 %us와 다릅니다.

로드 측정 - 상단의 %CPU가 %us와 다릅니다.

원격 서버에서 TOP를 실행하면 시스템 사용률이 매우 적습니다(3.8%us). 그러나 실제 프로세스에서는 CPU의 29.6%를 사용하고 있습니다.

이 서버에는 8개의 CPU 코어가 있으므로 %CPU는 단 1개의 CPU를 사용하는 반면, 상위는 us8개의 CPU를 초과합니까?

29.6을 8로 나누면 3.7이 나와 내 추측이 맞는 것 같습니다. 그래서 질문:

  • 내가 보고 있는 낮은 사용률은 실제로 8개 이상의 CPU인데 %CPU는 프로세스가 사용하는 CPU에 대한 것입니까?
  • 둘 이상의 CPU를 사용하는 프로세스에서는 어떤 일이 발생합니까?
  • Tomcat은 필요한 경우 둘 이상의 CPU를 사용합니까? 또는 로드가 증가하면 Tomcat이 충돌하지만 높은 로드에 대한 알림을 받지 못합니다.

최고 출력

    top - 12:17:40 up 9 days, 21:51,  2 users,  load average: 0.32, 0.28, 0.27
    Tasks: 201 total,   2 running, 199 sleeping,   0 stopped,   0 zombie
    Cpu(s):  3.8%us,  0.1%sy,  0.0%ni, 96.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:  16229072k total,  5617572k used, 10611500k free,   156480k buffers
    Swap:  8388588k total,        0k used,  8388588k free,  2632452k cached

      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    32676 tomcat    20   0 12.4g 2.3g  10m S 29.6 14.6   2530:56 java

나는 다음과 같은 소스를 확인했습니다.http://www.kernelhardware.org/linux-top-command/%us, 그러나 그 중 어느 것도 와 를 구별하지 못합니다 %CPU.

다음과 같은 일부 모호한 정보만 있습니다.%CPU – Percentage of CPU used

답변1

표시된 CPU 비율은 top결합된 모든 CPU에 대한 것입니다. CPU별 통계를 보려면 실행 1중에 키를 누르세요.top

반면, 프로세스 목록의 백분율은 단일 CPU 코어의 백분율이므로 100%를 초과할 수 있습니다.

관련 정보