Load Average
평균 부하의 값이 다.
Uptime 으로 확인이 가능함
21:22:35 up 1 day, 2:26, 3 users, load average: 0.58, 1.16, 1.29
Load average : 이 후에 나오는 것들은 1분 5분 15분 동안 실행/대기중인 PS 평균 개수
이 수치는 CPU core에 따라 다르지만
높으면 높을 수록 부하가 많이 걸린다는 뜻임
추적해서 찾아 내는 법
Uptime의 디버깅 코드를 추출해 낸다.
strace의 사용방법
-strace [사용명령어] : 바이너리를 추적할 수 있음
#strace -e [시스템 콜] [사용명령어] : strace 에 주어진 바이너리의 시스템에 특정 콜을 보여줌
#strace -o [파일이름] [사용명령어] : 해당 파일에 저장시킴
strace -s 65536 -f -t -o uptime_dump uptime
만들어진 덤프 파일을 확인해본다.
하단부에 시스템콜 open 부분에 /proc/loadavg 라는 파일을 볼 수 있는데 여기서 불러오는 것 임을 알 수 있다.
정확한 부하의 원인을 알아보자
#vmstat 1을 쳐서 확인을 해보자
-r은 실행되기를 기다리거나 현재 실행되고 있는 프로세스의 개수
-b는 I/O를 위해 대기열에 있는 프로세스의 개수를 말한다.
#vmstat 로 확인해 보면 CPU가 일으키는 Load Average인지 아니면 I/O가 일으키는 건지 확인 해볼 수 있다 b의경우 1이나 2정도는 낮은편에 속하지만 문제를 일으킬 수 있음
지속적으로 I/O를 일으키는 프로세스가 시스템에 존재하는 것을 의미하며 의도적으로 불필요한 PS일으킬 가능성이 있음.
지속적인 모니터링이 필요함.
해당 확인 스크립트
#!/bin/bash
monitor(){
while :
do
clear
free -h
uptime
vmstat
ss |grep (찾고싶은 서비스)
sleep 3
done
}
Monitor
'리눅스' 카테고리의 다른 글
fdisk 사용이 안될 때! (2T넘어가는 하드) parted 사용 (0) | 2021.02.12 |
---|---|
초간단 NFS 서버 만들기 (0) | 2021.02.12 |
메모리 누수 확인 (0) | 2021.02.12 |
Samba에 ln 심볼릭 링크 적용 (0) | 2021.02.12 |
DNS 설정 (0) | 2021.02.12 |