linux에서 cpu 사용률
글쓴이: winglet / 작성시간: 목, 2009/07/02 - 4:53오후
vmstat나 sar로 살펴 보면 user , sys(kernel) 로 나뉘어 보이게 됩니다.
sar를 예를 들면 아래처럼
.
.
.
04:46:04 PM CPU %user %nice %system %iowait %idle
04:46:05 PM all 3.37 0.00 2.00 7.48 87.16
04:46:06 PM all 4.00 0.00 2.38 68.50 25.12
04:46:07 PM all 3.37 0.00 2.00 7.74 86.89
04:46:08 PM all 4.74 0.00 2.62 4.74 87.89
첫째로 여기서 user 와 sys의 의미가 궁금합니다.
상식적으로 user는 어플리케이션이 사용 하고 있는 cpu% 라고 알고 있는데요
kernel은 커널이 사용 하는 cpu% 인가요?
그렇다면 커널은 무슨 용도로 cpu를 사용 하게 되는지 궁금합니다.
둘째로 idle은 어떻게 계산되는지도 궁금 합니다.
막연히 100-(user+sys)해서 나오는지 알고 있었는데 실제 계산해보면 꼭 그렇지도 않네요.
그럼 조언 부탁해요~
Forums:
1. 커널 레벨이
1. 커널 레벨이 맞습니다. 커널이 하는일은 많죠.
프로세서, 메모리, 기타 하드웨어 등을 다 제어 해야죠.
2. 100-(user+sys+iowait)
http://star4u.org
http://mirror.star4u.org
그럼...
sys% 가 갑자기 치솟는다거나 하는 경우는 무엇을 뜻하는 것일까요?
usr%은 그대로거나 오히려 낮아지고 말이죠
추억은 미화되는 법..
system call의 증가를 의미하지요.
아마도 아래의 경우가 아닐까요?
1.네트웍 트래픽의 증가
2.대용량 화일 입출력 발생
(tar, compress 등의 명령실행)
3.기타 시스템 콜이 발생한 경우
참고
[vmstat man page]
us: 커널이 아닌 프로세스의 시간 (user time, including nice time)
sy: 커널의 사용시간 (system time)
id: 아무런 일을 하지 않는 시간
wa: 입출력 대기 시간
st: 가상머신이 사용하는 시간
댓글 달기