변군이글루

[리눅스] Linux Load Average 본문

* 리눅스

[리눅스] Linux Load Average

변군 변군이글루 2021. 5. 26. 16:53
728x90
반응형

Linux Load Average

Load Averages 
The first three fields in this file are load average figures giving the number of jobs in the run queue (state R) or waiting for disk I/O (state D) averaged over 1, 5, and 15 minutes

--

리눅스 부하 평균(load averages)은 시스템에서 실행 중인 스레드(작업) 수요를 평균 실행 및 대기 스레드 수로 표시하는 "system load averages" 입니다. 이는 시스템이 현재 처리 중인 것보다 클 수 있는 수요를 측정합니다. 대부분의 도구는 1분, 5분 및 15분 동안 세 가지 평균을 표시합니다.

- load average가 0.0이면 시스템이 유휴 상태
- 1분 평균이 5분 또는 15분 평균보다 높으면 로드가 증가하는 것
- 1분 평균이 5분 또는 15분 평균보다 낮으면 부하가 감소하는 것
- CPU 개수보다  load average가 높으면 성능 문제가 있을 수 있음

load average 확인

- /proc/loadavg 파일

- uptime 명령어

- w 명령어

- top 명령어

$ cat /proc/loadavg 
0.00 0.01 0.04 1/131 1646

$ uptime
 20:12:49 up 27 min,  1 user,  load average: 0.00, 0.01, 0.04

$ w
 20:29:26 up 44 min,  1 user,  load average: 0.00, 0.01, 0.04
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.0.2      20:18    6.00s  0.06s  0.00s w

$ top -b -n 1 | head -n 10
top - 20:12:52 up 27 min,  1 user,  load average: 0.00, 0.01, 0.04
Tasks: 117 total,   1 running, 116 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3880588 total,   533568 free,  3223388 used,   123632 buff/cache
KiB Swap:  4194300 total,  4194300 free,        0 used.   474088 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0  125504   3928   2572 S   0.0  0.1   0:00.62 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H

프로세스의 R 상태D 상태의 수를 계산

$ ps -eL h o state,ucmd | awk '{if($1=="R"||$1=="D"){print $0}}' | sort | uniq -c | sort -k 1nr 
      1 R ps

[ps man 페이지]

R running or runnable (on run queue) : 실행 중(CPU 자원을 소모)

D uninterruptible sleep (usually IO) : 입출력을 기다리는 상태(디스크 또는 네트워크 등 I/O 작업 처리를 대기)

https://www.whatap.io/ko/blog/10

 

리눅스 명령어를 이용한 시스템 모니터링하기 | 와탭 블로그

리눅스 환경에서 시스템 성능 측정을 확인할 수 있는 다양한 명령어들을 통해 모니터링하는 방법에 대해 알아봅시다.

www.whatap.io

 

load average 분석

vmstat에 날짜와 시간 출력
$ vmstat -n 5 | awk '{now=strftime("%F %T"); print now, " ", $0}'

[vmstat man 페이지]

r: The number of runnable processes (running or waiting for run time). CPU 병목현상
b: Number of processes blocked waiting for I/O to complete. DISK 병목현상

 

 

728x90
반응형
0 Comments
댓글쓰기 폼