JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
시스템 관리 설명서: 고급 관리     Oracle Solaris 10 8/11 Information Library (한국어)
search filter icon
search icon

문서 정보

본 문서 정보

1.  터미널 및 모뎀 관리(개요)

2.  터미널 및 모뎀 설정(작업)

3.  Service Access Facility를 사용하여 직렬 포트 관리(작업)

4.  시스템 리소스 관리(개요)

5.  시스템 정보 표시 및 변경(작업)

6.  디스크 사용 관리(작업)

7.  UFS 쿼터 관리(작업)

8.  시스템 작업 일정 잡기(작업)

9.  시스템 계산 관리(작업)

시스템 계산의 새로운 기능

Oracle Solaris 프로세스 계산 및 통계 개선

시스템 계산이란?

시스템 계산의 작동 원리

시스템 계산 구성 요소

연결 계산

프로세스 계산

디스크 계산

요금 계산

일별 계산의 작동 원리

시스템 종료 시 발생 상황

시스템 계산(작업 맵)

시스템 계산 설정

시스템 계산을 설정하는 방법

사용자 요금 청구

사용자 요금을 청구하는 방법

계산 정보 유지 관리

훼손된 파일 및 wtmpx 오류 수정

훼손된 wtmpx 파일을 수정하는 방법

tacct 오류 수정

tacct 오류를 수정하는 방법

runacct 스크립트 재시작

runacct 스크립트를 재시작하는 방법

시스템 계산 중지 및 사용 안함

시스템 계산을 일시적으로 중지하는 방법

시스템 계산을 영구적으로 사용 안함으로 설정하는 방법

10.  시스템 계산(참조)

11.  시스템 성능 관리(개요)

12.  시스템 프로세스 관리(작업)

13.  시스템 성능 모니터링(작업)

14.  소프트웨어 문제 해결(개요)

15.  시스템 메시지 관리

16.  코어 파일 관리(작업)

17.  시스템 충돌 정보 관리(작업)

18.  기타 소프트웨어 문제 해결(작업)

19.  파일 액세스 문제 해결(작업)

20.  UFS 파일 시스템 불일치 해결(작업)

21.  소프트웨어 패키지 문제 해결(작업)

색인

시스템 계산이란?

Oracle Solaris OS의 시스템 계산 소프트웨어는 사용자 연결 시간, 프로세스에 부과된 CPU 시간 및 디스크 사용량에 대한 데이터를 수집하고 기록할 수 있는 일련의 프로그램입니다. 이 데이터를 수집한 후에는 보고서를 생성하고 시스템 사용량에 대한 요금을 부과할 수 있습니다.

매일 또는 매월 단위로 시스템 계산을 사용할 수 있습니다. 또는 사용자별 디스크 사용량을 추적할 수 있습니다.

계산 프로그램을 사용하여 다음 작업을 수행할 수 있습니다.

시스템 계산 프로그램을 설정한 후에는 대부분 스스로 실행됩니다.

시스템 계산의 작동 원리

먼저 계산 시작 스크립트를 루트의 crontab 파일에 입력하면 자동 계산이 설정됩니다. 그러면 계산 시작 스크립트를 cron 명령에 의해 자동으로 시작할 수 있습니다.

다음 개요는 시스템 계산 프로세스를 설명합니다.

  1. 시스템 시작과 종료 사이에, 시스템 사용에 대한 원시 데이터(예: 사용자 로그인, 실행 프로세스, 데이터 저장소)가 계산 파일에 수집됩니다.

  2. 정기적으로(대개 하루에 한 번), /usr/lib/acct/runacct 스크립트가 다양한 계산 파일을 처리하고 누적 요약 파일과 일별 계산 보고서를 생성합니다. 그 다음, /usr/lib/acct/prdaily 스크립트가 일별 보고서를 인쇄합니다.

    runacct 스크립트에 대한 자세한 내용은 runacct 스크립트를 참조하십시오.

  3. 매월, monacct 스크립트를 실행하여 누적된 runacct 요약 파일을 처리하고 인쇄할 수 있습니다. monacct 스크립트로 생성된 요약 보고서는 매월 단위로 또는 다른 회계 기간에 사용자 요금을 청구하는 효율적인 수단입니다.

시스템 계산 구성 요소

시스템 계산 소프트웨어는 데이터를 요약 파일과 보고서로 구성하는 C 언어 프로그램 및 셸 스크립트를 제공합니다. 이러한 프로그램은 /usr/lib/acct 디렉토리에 있습니다. 계산 보고서는 /var/adm/acct 디렉토리에 있습니다.

일별 계산을 통해 다음 4가지 유형의 감사를 수행할 수 있습니다.

연결 계산

연결 계산을 통해 다음 정보를 확인할 수 있습니다.

이 연결 세션 정보를 제공하기 위해 시스템이 다음 데이터를 저장합니다.

이러한 레코드는 date, init, login, ttymon, acctwtmp와 같은 시스템 프로그램 출력에서 생성됩니다. 이들은 /var/adm/wtmpx 파일에 저장됩니다.

wtmpx 파일의 항목은 다음 정보를 포함할 수 있습니다.

프로세스 계산

프로세스 계산을 통해 시스템에서 실행되는 각 프로세스에 대해 다음 데이터를 추적할 수 있습니다.

프로세스를 종료할 때마다 exit 프로그램이 이 정보를 수집하여 /var/adm/pacct 파일에 기록합니다.

디스크 계산

디스크 계산을 통해 각 사용자가 디스크에 보관한 파일에 대해 다음 데이터를 수집하고 형식을 지정할 수 있습니다.

이 데이터는 /var/spool/cron/crontabs/root 파일에 추가한 항목으로 결정된 간격마다 /usr/lib/acct/dodisk 셸 스크립트에 의해 수집됩니다. 이번에는 dodisk 스크립트가 acctdiskacctdusg 명령을 호출합니다. 이러한 명령은 로그인 이름별로 디스크 사용량을 수집합니다.


주의

주의 - dodisk 스크립트를 실행하여 수집된 정보는 /var/adm/acct/nite/disktacct 파일에 저장됩니다. 다음에 dodisk 스크립트를 실행할 때 이 정보를 겹쳐 씁니다. 따라서 dodisk 스크립트를 같은 날 두 번 실행하지 않도록 주의하십시오.


acctdusg 명령이 무작위로 쓰여진 파일에 요금을 과다 청구하여 파일에 손해를 입힐 수 있습니다. 이 문제는 acctdusg 명령이 파일 크기를 결정할 때 파일의 간접 블록을 읽지 않기 때문에 발생합니다. 오히려 acctdusg 명령은 파일의 inode에서 현재 파일 크기 값을 검사하여 파일 크기를 결정합니다.

요금 계산

chargefee 유틸리티는 사용자에 제공된 특수 서비스의 과금을 /var/adm/fee 파일에 저장합니다. 특수 서비스는 파일 복원 같은 것입니다. 파일의 각 항목은 사용자 로그인 이름, 사용자 ID, 요금으로 구성됩니다. 이 파일을 매일 runacct 스크립트로 검사하여 새 항목을 계산 레코드로 병합합니다. 사용자 요금 청구를 위한 chargefee 스크립트 실행 지침은 사용자 요금을 청구하는 방법을 참조하십시오.

일별 계산의 작동 원리

다음은 일별 계산의 작동 원리를 단계별로 요약한 것입니다.

  1. 시스템을 다중 사용자 모드로 전환하면 /usr/lib/acct/startup 프로그램이 실행됩니다. startup 프로그램이 일별 계산을 호출하는 여러 다른 프로그램을 실행합니다.

  2. acctwtmp 프로그램이 "boot" 레코드를 /var/adm/wtmpx 파일에 추가합니다. 이 레코드에서 시스템 이름이 wtmpx 레코드의 사용자 이름으로 표시됩니다. 다음 표는 원시 계산 데이터의 수집 방법과 저장 위치를 요약한 것입니다.

    /var/adm의 파일
    저장된 정보
    작성자
    형식
    wtmpx
    연결 세션
    login, init
    이진
    변경 사항
    date
    이진
    재부트
    acctwtmp
    이진
    종료
    shutacct
    이진
    pacctn
    프로세스
    커널(프로세스가 끝날 때)
    이진
    turnacct switch (이전 파일이 500개 블록에 도달하면 새 파일 생성)
    이진
    fee
    특수 과금
    chargefee
    ASCII
    acct/nite/disktacct
    사용된 디스크 공간
    dodisk
    이진
  3. -on 옵션으로 호출된 turnacct 스크립트가 프로세스 계산을 시작합니다. 특별히 turnacct 스크립트가 accton 프로그램을 /var/adm/pacct 인수와 함께 실행합니다.

  4. 제거 셸 스크립트가 runacct 스크립트에 의해 sum 디렉토리에 남은 저장된 pacctwtmpx 파일을 "정리"합니다.

  5. logininit 프로그램이 /var/adm/wtmpx 파일에 레코드를 작성하여 연결 세션을 기록합니다. 날짜 변경 사항(날짜를 인수와 함께 사용)도 /var/adm/wtmpx 파일에 기록됩니다. acctwtmp 명령을 사용한 재부트 및 종료도 /var/adm/wtmpx 파일에 기록됩니다.

  6. 프로세스가 끝날 때 커널이 /var/adm/pacct 파일에 acct.h 형식을 사용하여 프로세스당 하나의 레코드를 작성합니다.

    매 시간마다, cron 명령이 ckpacct 스크립트를 실행하여 /var/adm/pacct 파일의 크기를 검사합니다. 파일이 500개 블록(기본값)을 넘으면 turnacct switch 명령이 실행됩니다. (프로그램이 pacct 파일을 pacctn 파일로 이동하고 새 파일을 만듭니다.) 이러한 레코드를 처리할 때 실패가 발생한 경우 runacct 스크립트를 재시작하려는 순간 여러 개의 작은 pacct 파일 사용의 장점이 발휘됩니다.

  7. runacct 스크립트가 매일 밤 cron 명령으로 실행됩니다. runacct 스크립트가 계산 파일을 처리하여 사용자 이름별 명령 요약과 사용량 요약을 생성합니다. 계산 파일 /var/adm/pacctn , /var/adm/wtmpx, /var/adm/fee, /var/adm/acct/nite/disktacct가 처리됩니다.

  8. /usr/lib/acct/prdaily 스크립트가 runacct 스크립트에 의해 매일 단위로 실행되어 /var/adm/acct/sum/rprtMMDD 파일에 일별 계산 정보를 기록합니다.

  9. monacct 스크립트를 매월 단위로(또는 모든 회계 기간의 끝과 같이 사용자가 지정한 간격마다) 실행해야 합니다. monacct 스크립트가 runacct 스크립트에 의해 매일 업데이트된 sum 디렉토리에 저장된 데이터를 기반으로 하는 보고서를 만듭니다. 보고서를 만든 후에 monacct 스크립트가 sum 디렉토리를 "정리"하여 새로운 runacct 데이터를 위해 디렉토리의 파일을 준비합니다.

시스템 종료 시 발생 상황

shutdown 명령을 사용하여 시스템을 종료하면 shutacct 스크립트가 자동으로 실행됩니다. shutacct 스크립트가 /var/adm/wtmpx 파일에 이유 레코드를 기록하고 프로세스 계산을 끕니다.