Oracle® Solaris 11.2의 시스템 정보, 프로세스, 성능 관리

인쇄 보기 종료

업데이트 날짜: 2014년 9월
 
 

자동으로 시스템 작업 데이터 수집(sar)

3개의 명령 sadc, sa1sa2는 시스템 작업 데이터의 자동 수집에 포함됩니다.

sadc 데이터 수집 유틸리티는 시스템 작업에 대한 데이터를 정기적으로 수집하고 이진 형식의 파일(24시간 기간마다 하나씩)에 데이터를 저장합니다. sadc 명령이 정기적으로(대개 매시간마다 한 번), 그리고 시스템이 다중 사용자 모드로 부트될 때마다 실행되도록 설정할 수 있습니다. 데이터 파일은 /var/adm/sa 디렉토리에 보관됩니다. 각 파일의 이름은 sadd로 지정됩니다. 여기서 dd는 현재 날짜입니다. 명령의 형식은 다음과 같습니다.

/usr/lib/sa/sadc [t n] [ofile]

명령은 t초 간격으로 n회 샘플링하며, 샘플링 간격은 5초보다 길어야 합니다. 그런 다음 이 명령은 이진 ofile 파일이나 표준 출력에 씁니다.

부트할 때 sadc 명령 실행

카운터가 0으로 재설정될 때부터 통계를 기록하려면 sadc 명령이 시스템 부트 시 실행되어야 합니다. sadc 명령이 부트 시 실행되도록 하기 위해 svcadm enable system/sar:default 명령이 레코드를 일별 데이터 파일에 씁니다.

명령 항목의 형식은 다음과 같습니다.

/usr/bin/su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"

sa1 스크립트를 사용하여 정기적으로 sadc 명령 실행

정기적인 레코드를 생성하려면 sadc 명령을 정기적으로 실행해야 합니다. 이를 위한 가장 간단한 방법은 /var/spool/cron/crontabs/sys 파일에서 다음 줄을 주석 처리하는 것입니다.

# 0 * * * 0-6 /usr/lib/sa/sa1
# 20,40 8-17 * * 1-5 /usr/lib/sa/sa1
# 5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A

    기본 sys crontab 항목은 다음을 수행합니다.

  • 처음 두 crontab 항목은 월요일부터 금요일까지 오전 8시부터 오후 5시까지 20분마다(그렇지 않은 경우 매시간마다) 레코드가 /var/adm/sa/sadd 파일에 쓰여지도록 합니다.

  • 세번째 항목은 월요일부터 금요일까지 매시간 레코드를 /var/adm/sa/sar dd 파일에 쓰고, 모든 sar 옵션을 포함합니다.

이러한 기본값은 필요에 맞게 변경할 수 있습니다.

sa2 셸 스크립트를 사용하여 보고서 생성

또 하나의 셸 스크립트인 sa2는 이진 데이터 파일 대신 보고서를 생성합니다. sa2 명령은 sar 명령을 호출하고 ASCII 출력을 보고서 파일에 씁니다.

자동 데이터 수집 설정( sar)

sar 명령은 시스템 작업 데이터 자체를 수집하거나 sadc 명령으로 생성된 일별 작업 파일에서 수집된 정보를 보고하는 데 사용할 수 있습니다.

sar 명령의 형식은 다음과 같습니다.

sar [-aAbcdgkmpqruvwy] [-o file] t [n] 
sar [-aAbcdgkmpqruvwy] [-s time] [-e time] [-i sec] [-f file]

첫번째 형식은 운영 체제에서 누적 작업 카운터를 t초마다 n회 샘플링합니다. t는 5초 이상이어야 합니다. 그렇지 않으면 명령 자체가 샘플에 영향을 줄 수 있습니다. 샘플링을 수행할 시간 간격을 지정해야 합니다. 그렇지 않으면 명령은 두번째 형식에 따라 작동합니다. n의 기본값은 1입니다.

다음 예에서는 두번째 형식을 사용하여 10초로 구분된 두 번의 샘플링을 수행합니다. –o 옵션이 지정된 경우 샘플이 이진 형식으로 지정됩니다.

$ sar -u 10 2

샘플링 간격이나 샘플 수가 지정되지 않으면 sar 명령은 이전에 기록된 파일에서 데이터를 추출합니다. 이 파일은 –f 옵션으로 지정된 파일이거나 기본적으로 최근의 표준 일별 작업 파일인 /var/adm/sa/sadd입니다.

–s–e 옵션은 보고서에 대한 시작 시간과 종료 시간을 정의합니다. 시작 시간과 종료 시간의 형식은 hh[:mm[ :ss]]입니다. 여기서 hh, mmss는 시, 분, 초를 나타냅니다.

–i 옵션은 레코드 선택 사이의 간격(초)을 지정합니다. –i 옵션이 포함되지 않으면 일별 작업 파일에서 발견된 모든 간격이 보고됩니다.

sar 및 해당 작업은 다음과 같습니다.


주 -  옵션을 사용하지 않는 것은 sar 명령을 –u 옵션과 함께 사용하는 것과 같습니다.
–a

파일 액세스 작업을 확인합니다.

–b

버퍼 작업을 확인합니다.

–c

시스템 호출을 확인합니다.

–d

각 블록 장치에 대한 작업을 확인합니다.

–g

페이지 아웃 및 메모리 해제를 확인합니다.

–k

커널 메모리 할당을 확인합니다.

–m

프로세스 간 통신을 확인합니다.

–nv

시스템 테이블 상태를 확인합니다.

–p

스왑 및 전달 작업을 확인합니다.

–q

대기열 작업을 확인합니다.

–r

사용되지 않은 메모리를 확인합니다.

–u

CPU 사용률을 확인합니다.

–w

스와핑 및 전환 볼륨을 확인합니다.

–y

터미널 작업을 확인합니다.

–A

전체 시스템 성능을 보고합니다. 모든 옵션을 입력하는 것과 같습니다

자동 데이터 수집을 설정하는 방법

  1. root 역할을 맡습니다.

    Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.

  2. svcadm enable system/sar:default 명령을 실행합니다.

    이 버전의 sadc 명령은 카운터가 0으로 재설정될 때(부트 시) 시간을 표시하는 특수 레코드를 씁니다.

  3. /var/spool/cron/crontabs/sys crontab 파일을 편집합니다.

    주 -  crontab 파일을 직접 편집하지 마십시오. 대신 crontab –e 명령을 사용하여 기존 crontab 파일을 변경합니다.
    # crontab -e sys
  4. 다음 줄을 주석 처리합니다.
    0 * * * 0-6 /usr/lib/sa/sa1
    20,40 8-17 * * 1-5 /usr/lib/sa/sa1
    5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A

    자세한 내용은 crontab(1) 매뉴얼 페이지를 참조하십시오.