linux top 명령어 CPU% 의 기준은 어떻게 해서 계산되는건가요?

oblab의 이미지

top 명령어를 이용하여 프로그램의 cpu 부하율을 보고 있는데요

CPU% 가 100%가 넘어갑니다.

사용하는 PC의 cpu갯수는 4개입니다(grep -c processor /proc/cpuinfo)

100%가 넘는다는것은 cpu가 4개이기때문에 최대 400%중에 100%를 사용한다는 의미인가요?

CPU% 의 출력값이 어느기준을 이용해서 출력되는지 궁금합니다.

tyhan의 이미지

질문에 답은 아니지만
top 에서 "1"을 누르면 코어별 사용량이 나옵니다.

oblab의 이미지

감사합니다...음 4개가 나오는데 4로 나눈값이 출력되는것 같기도하고 정확하게 4로 나눠지지는 않네요

김정균의 이미지

상단에 나오는 summary는 4개를 합쳐서 100%로 처리 합니다. (즉 100%를 넘지 않는다는 말이죠) 하지만 하단의 각 프로세스별 항목에서는 cpu가 4개이면 100% 는 400% (100% * cpu 개수)로 나오게 되어 있습니다. 즉, 생각하신바가 맞습니다.

100%가 넘는다는 것은 cpu(core일 수도 있고, hyper threading 도는 physical cpu일수도..)를 1개 이상 쓰고 있다는 의미가 되는 거죠.