cpu는 각각의 프로세스들에게 할당이 되는데
%가 존재 한다는것이 무슨 의미인가요? CPU가 낼수 있는 능력에
몇 퍼센트인지를 말하는 건가요? 아니면 CPU가 여러개로 쪼개져서
그중에 몇퍼센트만 사용된다는 것인가요?
바보같은 질문일 수도 있지만 궁금해서요^^
보통 점유율 % 라 함은 단위시간당 전체 cpu 개수가 풀로 돌아갈능력 대비 프로세스가 사용한 정도 입니다.
보통 프로세스는 OS의 스케쥴링 정책에 의해 자신이 해야 할 일을 허가받은 시간동안 돌면서 사용합니다.
따라서 단위시간대로 끊어서 보면 그 시간동안 특정 프로세스가 cpu 에게 얼마나 일을 시켰나로 보시면 됩니다.
참고로 프로세스가 스케쥴링에 의해 충분한 시간을 할당받았다고 하더라도 각종 I/O 나 인터럽트 처리를 대기 하는 상황이 발생하면
( 충분한 시간을 할당 받았으므로 다른 프로세스가 그 틈에 우선순위를 갖지 않았다고 하면 ) cpu 는 IDLE 상태가 됩니다만 이경우를
process 가 점유 하고 있는 상황으로 볼 수도 있고 아닐 수도 있기에 상황에 따라 더하기도 하고 빼기도 합니다.
따라서 현재 떠있는 모든 프로세스의 모든 점유율을 다 더해도 전체 cpu 가 풀로 돌아갈 능력인 100% 가 안되는 경우도 종종 있는 것 입니다.
보통은 각 프로세스의 점유율을 다 더해보면 거의 100% 가 되겠지요.
단위시간당 돌아가는 것( 예를 들면 1초 )이므로 당연히 %이라는 점유율이 존재하는 것 이구요.
CPU 자체가 여러개로 쪼개진다기 보단 cpu의 사용시간이 단위시간안에서 여러프로세스에 의해 나뉘어져 사용되는 것 이겠지요. ( 예를 들면 1/10 초씩 )
물론 CPU 자체가 여러개 이면 심지어 노는 CPU 가 나오는 상황도 종종 있습니다. 그런 경우 점유율이라는 것은 더 떨어지겠지요.
Neogeo - Future is Now.
하나의 프로세스가 0.2초동안 너 일해라 라고 OS로부터 CPU를 받으면 20%가 된다는 말씀이신가요? 복잡하네요 ㅎ 늦었지만 답변 감사합니다^^
간단히 말하면 총량 = 정해진 단위시간(설정하기나름)동안에 발생한 tick 단위시간동안 프로세스가 사용한 tick/총량*100하면 사용률입니다. 전체사용량은 idle tick을 빼고 계산하면 됩니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
보통 점유율 % 라
보통 점유율 % 라 함은 단위시간당 전체 cpu 개수가 풀로 돌아갈능력 대비 프로세스가 사용한 정도 입니다.
보통 프로세스는 OS의 스케쥴링 정책에 의해 자신이 해야 할 일을 허가받은 시간동안 돌면서 사용합니다.
따라서 단위시간대로 끊어서 보면 그 시간동안 특정 프로세스가 cpu 에게 얼마나 일을 시켰나로 보시면 됩니다.
참고로 프로세스가 스케쥴링에 의해 충분한 시간을 할당받았다고 하더라도 각종 I/O 나 인터럽트 처리를 대기 하는 상황이 발생하면
( 충분한 시간을 할당 받았으므로 다른 프로세스가 그 틈에 우선순위를 갖지 않았다고 하면 ) cpu 는 IDLE 상태가 됩니다만 이경우를
process 가 점유 하고 있는 상황으로 볼 수도 있고 아닐 수도 있기에 상황에 따라 더하기도 하고 빼기도 합니다.
따라서 현재 떠있는 모든 프로세스의 모든 점유율을 다 더해도 전체 cpu 가 풀로 돌아갈 능력인 100% 가 안되는 경우도 종종 있는 것 입니다.
보통은 각 프로세스의 점유율을 다 더해보면 거의 100% 가 되겠지요.
단위시간당 돌아가는 것( 예를 들면 1초 )이므로 당연히 %이라는 점유율이 존재하는 것 이구요.
CPU 자체가 여러개로 쪼개진다기 보단 cpu의 사용시간이 단위시간안에서 여러프로세스에 의해 나뉘어져 사용되는 것 이겠지요. ( 예를 들면 1/10 초씩 )
물론 CPU 자체가 여러개 이면 심지어 노는 CPU 가 나오는 상황도 종종 있습니다. 그런 경우 점유율이라는 것은 더 떨어지겠지요.
Neogeo - Future is Now.
Neogeo - Future is Now.
음/
하나의 프로세스가 0.2초동안 너 일해라 라고 OS로부터 CPU를 받으면
20%가 된다는 말씀이신가요? 복잡하네요 ㅎ
늦었지만 답변 감사합니다^^
간단히 말하면 총량 =
간단히 말하면
총량 = 정해진 단위시간(설정하기나름)동안에 발생한 tick
단위시간동안 프로세스가 사용한 tick/총량*100하면 사용률입니다.
전체사용량은 idle tick을 빼고 계산하면 됩니다.
댓글 달기