top에서 load average값의 의미는?

송지석의 이미지

10:08am up 20:15, 2 users, load average: 2.11, 0.75, 0.65
49 processes: 43 sleeping, 6 running, 0 zombie, 0 stopped
CPU states: 95.4% user, 4.5% system, 0.0% nice, 0.0% idle

안녕하세요

컴파일 하다가 top로 cpu점유율을 보고 있는데요

load average라는 것이 무엇인지 궁금해졌습니다.

/proc에서도 읽을 수 있는데, 이 값이 무엇을 의미하며 어느정도 숫자가 어떤 정도의 로드를 의미하는 지 알 수 있을까요?

mushim의 이미지

Quote:
10:08am up 20:15, 2 users, load average: 2.11, 0.75, 0.65

위의 값은 /proc/loadavg 의 값을 읽은 것으로, uptime 에서 출력하는 값과 같습니다.

마지막 세값의 의미는 지금으로부터 1분, 5분 15분전동안의 평균적인 active 프로세스의 개수를 말합니다.

여기서 active 프로세스란 리눅스의 경우 TASK_RUNNING 과, TASK_UNINTERRUPTIBLE 상태에 있는 프로세스를 말합니다.

리눅스의 경우 5초마다 active 프로세스의 개수를 구해서, 이로부터 추정을 해서 이전 1,5,15분동안의 평균적인 프로세스의 개수를 구해서 /proc/loadavg 값을 갱신하게 됩니다.

단, 이값은 서버의 부하를 나타내는 지표중 하나로 받아들여야 합니다.

같은 값을 나타내더라도, 상황에 따라서 서버의 반응이 느릴수도 있고, 빠를 수 도 있습니다.