Resource
자원. 사용될 수 있는 어떤 항목. 프로그램이 활용할 수 있는 데이터나 루틴
예) 프린터, CPU, 메모리 등
컴퓨터 리소스의 종류는 다양하지만 보통 내 경우에는 CPU/MEM 상태를 확인해달라는 요청을 가장 많이 받는다.
조금 더 나가면, SWAP이나 I/O 정도……? 따라서 이 글에서는 CPU/MEM 사용량 등을 확인하는 방법을 알아본다.
각 출력 부분의 어느 게 무슨 뜻인지는 적지 않을 것이다. 열심히 적어봐야 어차피 기억에 남지 않기 때문이다.
1. top
전반적인 시스템 운용 상황을 실시간으로 확인하는 명령어
프로세스, CPU 사용률, 메모리 사용률, SWAP 사용률 등을 확인할 수 있다.
top
# t : CPU 사용률 표시 방식 변경
# u <username> : 특정 사용자 소유의 프로세스 표시
# T : 실행 시간 기준 내림차순으로 정렬
# c : 전체 COMMAND 표시
상단 3번째 줄부터 CPU, MEM, SWAP 정보 순서이다. KB 단위긴 하지만, 대략적인 사용률 정도는 확인이 가능하다. 특히 t를 누르면 %Cpu는 게이지 형태로 출력이 달라진다. (이 글 적으면서 알았기 때문에 굵게 적는다.)
그 아래로는 실행 중인 프로세스 리스트다. 프로세스 리스트에서는 보통 프로세스 ID, USER, 실행 시간(TIME+), COMMAND 정도를 주로 확인한다.
프로세스 리스트가 열심히 돌아가고 있다면, 뭔가 실행하고 있는 게 많다는 것이다.
2. htop
top을 개선한 실시간 모니터링 도구
htop
기본적으로 설치되는 프로그램이 아니기 때문에 별도 설치가 필요하다.
아무래도 top보다 많이 사용은 하고 있는데 지금 접근하는 서버에는 설치하기가 좀 어려워서…… 이 부분은 조만간 내용을 보충하도록 하겠다.
3. mpstat
CPU 사용률 확인 명령어
mpstat
첫 번째 줄 오른쪽에서 볼 수 있듯, 이 서버는 2 CORE (t3.medium)다.
%idle 값은 이 CPU가 놀고 있는 비율을 의미한다. 즉, 사진의 CPU 사용률은 100에서 %idle 값을 뺀 9.33%이다.
일일이 계산하고 싶지 않다면 아래 명령으로 바로 사용률을 계산한 값을 얻을 수 있다.
mpstat | tail -1 | awk '{print 100-$NF}'
출력 단위는 %이다.
4. free
메모리 사용량, 여유량 등을 확인하는 명령어
free
# -h : 인간이 읽기 쉬운 단위로 출력
SWAP 사용량도 함께 확인할 수 있다.