sysstat 란?
sysstat 란 리눅스 서버에서 사용할 수 있는 다양한 성능 분석 툴이 모여 있는 패키지 입니다.
sysstat 를 설치 할 때 제공되는 다양한 도구들을 이용해서 CPU, 메모리, 디스크, 프로세스의 리소스의 사용 현황을 확인 및 수집하고, 기록하여 분석에 활용할 수 있습니다.
sysstat 의 도구
sysstat 패키지를 설치하면 다양한 도구를 사용할 수 있습니다. 여기서는 일부 도구에 대해서 정리 했습니다.
sysstat 의 도구는 크게 실시간 감시를 위한 도구인 iostat, mpstat, pidstat 등과 기록 및 분석을 위한 도구인 sar, sa1, sa2 등으로 분류 할 수 있습니다.
분석 도구 사용 방법
1. iostat
디스크의 정보와 CPU 사용률을 같이 확인할 수 있는 명령어 입니다.
문법
# iostat [옵션] [갱신주기] [출력횟수]
옵션
-c : CPU 의 사용률만 출합니다.
-d : 디스크 정보만 출력합니다.
-x : 확장된 디스크의 통계를 출력합니다.
-p [장치명/파티션] : 특정 장치나 파티션 정보만 출력합니다.
-h : KB, MB, GB 등으로 자동 변환하여 출력합니다.
-k, -m : KB 또는 MB 로 출력합니다.
-t : 현재 시간을 포함하여 출력합니다.
사용예시
iostat -cx 1 5
– CPU 사용률과 디스크 정보를 1초 간격으로 조회해서 5회 출력합니다.
2. mpstat
전체 CPU 나 코어별 CPU 사용률을 확인할 수 있으며, CPU 관련 다양한 데이터를 상세히 확인할 수 있는 명령어 입니다.
문법
# mpstat [옵션] [갱신주기] [출력횟수]
옵션
-P ALL : 모든 CPU 코어에 대한 사용률을 출력합니다.
-P 0 ~ 1 : 특정 CPU 코어를 지정해서 출력합니다.
-u : CPU 사용률만 출력합니다. (기본값으로 지정 없어도 사용 됩니다.)
-o JSON : 출력의 결과를 JSON 형식으로 보여줍니다.
사용예시
mpstat -P ALL 1 5
– 전체 CPU 의 사용량을 1초 간격으로 조회 하여 5회 출력합니다.
3. pidstat
시스템에서 실행 중인 프로세스의 CPU, 메모리, I/OS 사용률을 추적할 수 있는 명령어 입니다.
문법
# pidstat [옵션] [갱신주기] [출력횟수]
옵션
-u : CPU 사용률을 출력 합니다.
-r : 메모리 사용량을 출력합니다.
-d 디스크의 I/O 를 출력합니다.
-p [pid] : 특정 PID 를 지정해서 추적합니다.
-G [cmd] : 특정 명령어를 기준으로 필터링 합니다.
-U [사용자] : 특정 사용자의 UID 또는 이름을 기준으로 필터링 합니다.
사용예시
pidstat -u -r -d 1 1
– CPU 와 메모리, 디스크 사용률을 기준으로 프로세스를 1초 간격으로 조회 하여 1회 출력합니다.
pidstat -u -r -d -G mysqld 1 1
– 출력한 결과의 프로세스인 mysqld 를 지정하 1초 간격으로 조회하여 1회 출력해봅니다.
4. sa1
sar 가 사용할 성능 로그를 저장하는 명령어 입니다.
– sa1 은 실시간으로 수집하여 /var/log/sa/saXX 에 기로합니다.
문법
# sa1 [갱신주기] [수집횟수]
사용예시
/usr/lib64/sa/sa1 1 1
– 성능 데이터를 1초 간격으로 1회씩 수집해서 /var/log/sa/saXX 유형의 파일로 생성합니다.
– 이렇게 생성된 파일은 vi 명령어나 cat 명령어로는 확인할 수 없습니다.
5. sar
CPU, 메모리, 디스크, 등 다양한 항목의 이력을 조회하고 파일로 저장 할 수 있는 명령어 입니다.
문법
# sar [옵션] [파일]
옵션
-u : CPU 사용률을 조회합니다.
-r : 메모리 사용률을 조회합니다.
-q : Load average 값을 조회합니다.
-f /var/log/saXX : 특정 날짜 데이터를 조회합니다.
-s HH:MM : 조회 시작 시간을 지정합니다.
-e HH:MM : 조회 종료 시간을 지정합니다.
-A : 모든 내용을 출력합니다.
사용예시
sar -u -r -q -s 11:55 -e 12:00
– /var/log/sa/saXX 형태로 저장되고 있는 로그 파일을 참고해서 11시 55 ~ 12시 사이에 수집한 CPU 와 메모리 사용률, load averave 값에 대해서 조회합니다.