본문 바로가기

여러가지/구축 & 설치

[명령어] uptime

# 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