# uptime
: 시스템의 가동 시간과 로그인한 사용자 수, Load Average 확인
=> Load Averages: 1분 평균, 5분 평균, 15분 평균 각각 나타낸 것
● Load Averages
: 서버가 받고 있는 부하 평균
즉, 단위 시간(1/5/15분)동안 R과 D 상태의 프로세스 개수
- R: CPU 위주의 작업
- D: I/O 위주의 작업
(+) 부하: 얼마나 일하고 있느냐
ex)
한 개의 CPU, 한 개의 프로세스 => Load Averages = 1
한 개의 CPU, 두 개의 프로세스 => Load Averages = 2, 나눠 씀 (Context Switching)
두 개의 CPU, 한 개의 프로세스 => Load Averages = 1
두 개의 CPU, 두 개의 프로세스 => Load Averages = 2, 각각 씀
즉, Load Averages는 상대적인 값으로 두 서버가 똑같이 1이라고 해도 CPU가 한 개 일 때와 두 개일 때의 의미가 다름
(이슈) Load Average > CPU 개수
=> 현재 처리 가능한 수준에 비해 많은 수의 프로세스가 존재한다는 의미
(+) CPU 개수 확인
# lscpu -e
Q. Load Averages가 높은 이유가 무엇일까?
R 높을 때 - 1) CPU개수 늘리거나(일반적), 2) 스레드 개수 줄이거나
D 높을 때 - I/O 병목 있는 것으로 1) IOPS가 높은 디바이스로 변경하여 더 많이 처리할 수 있도록 하거나(EBS로 교체), 2) 처리량을 줄임
Q. R, C 뭐가 많은지 어떻게 알지?
# vmstat
=> r - R, b - D
<정리>
1) uptime 명령어의 Load Averages 통해 얼마나 많은 부하 받는지 확인
2) CPU개수보다 많은 부하 받고 있다면 vmstat 명령어의 procs(r,b) 칼럼을 통해 어떤 종류의 프로세스 때문인지 확인
'여러가지 > 구축 & 설치' 카테고리의 다른 글
[명령어] free (1) | 2024.01.28 |
---|---|
[명령어] dmesg (0) | 2024.01.23 |
[SSH] 공개키 인증 (0) | 2023.12.15 |
[실습] 웹 서버 구축 및 방화벽 설정 (0) | 2023.12.15 |
[실습] 호스트 네임 변경 및 도메인 등록 (0) | 2023.12.15 |