JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1에서 시스템 정보, 프로세스 및 성능 관리     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

1.  시스템 정보 관리(작업)

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

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

시스템 성능 작업의 위치

시스템 성능 및 시스템 리소스

프로세스 및 시스템 성능

시스템 성능 모니터링 정보

모니터링 도구

시스템 성능 정보 표시

시스템 성능 정보 표시(작업 맵)

가상 메모리 통계 표시(vmstat )

가상 메모리 통계를 표시하는 방법(vmstat )

시스템 이벤트 정보를 표시하는 방법(vmstat -s)

스와핑 통계를 표시하는 방법(vmstat -S)

장치당 인터럽트를 표시하는 방법(vmstat -i)

디스크 사용률 정보 표시( iostat)

디스크 사용률 정보를 표시하는 방법(iostat )

확장 디스크 통계를 표시하는 방법(iostat -xtc)

디스크 공간 통계 표시(df)

디스크 공간 정보를 표시하는 방법(df -k)

시스템 작업 모니터링

시스템 작업 모니터링(작업 맵)

시스템 작업 모니터링(sar)

파일 액세스를 확인하는 방법(sar -a)

버퍼 작업을 확인하는 방법(sar -b)

시스템 호출 통계를 확인하는 방법(sar -c)

디스크 작업을 확인하는 방법(sar -d)

페이지 아웃 및 메모리를 확인하는 방법(sar -g)

커널 메모리 할당 확인

커널 메모리 할당을 확인하는 방법(sar -k)

프로세스간 통신을 확인하는 방법(sar -m)

페이지 인 작업을 확인하는 방법(sar -p)

대기열 작업을 확인하는 방법(sar -q)

사용되지 않은 메모리를 확인하는 방법(sar -r)

CPU 사용률을 확인하는 방법(sar -u)

시스템 테이블 상태를 확인하는 방법(sar -v)

스와핑 작업을 확인하는 방법(sar -w)

터미널 작업을 확인하는 방법(sar -y)

전체 시스템 성능을 확인하는 방법(sar -A)

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

부트할 때 sadc 명령 실행

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

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

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

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

4.  시스템 작업 예약(작업)

5.  시스템 콘솔, 터미널 장치 및 전원 서비스 관리(작업)

색인

시스템 작업 모니터링

이 절에서는 시스템 작업을 모니터하기 위한 작업에 대해 설명합니다.

시스템 작업 모니터링(작업 맵)

작업
설명
수행 방법
파일 액세스를 확인합니다.
sar 명령을 -a 옵션과 함께 사용하여 파일 액세스 작업 상태를 표시합니다.
버퍼 작업을 확인합니다.
sar 명령을 -b 옵션과 함께 사용하여 버퍼 작업 통계를 표시합니다.
시스템 호출 통계를 확인합니다.
sar 명령을 -c 옵션과 함께 사용하여 시스템 호출 통계를 표시합니다.
디스크 작업을 확인합니다.
sar 명령을 -d 옵션과 함께 사용하여 디스크 작업을 확인합니다.
페이지 아웃 및 메모리를 확인합니다.
sar 명령을 -g 옵션과 함께 사용하여 페이지 아웃 메모리 해제 작업을 표시합니다.
커널 메모리 할당을 확인합니다.
커널 메모리 할당(KMA)을 통해 커널 부속 시스템에서 필요에 따라 메모리를 할당하고 해제할 수 있습니다. sar 명령을 -k 옵션과 함께 사용하여 KMA를 확인합니다.
프로세스간 통신을 확인합니다.
sar 명령을 -m 옵션과 함께 사용하여 프로세스간 통신 작업을 보고합니다.
페이지 인 작업을 확인합니다.
sar 명령을 -p 옵션과 함께 사용하여 페이지 인 작업을 보고합니다.
대기열 작업을 확인합니다.
sar 명령을 -q 옵션과 함께 사용하여 다음을 확인합니다.
  • 대기열이 채워진 동안의 평균 대기열 길이

  • 대기열이 채워진 시간(백분율)

사용되지 않은 메모리를 확인합니다.
sar 명령을 -r 옵션과 함께 사용하여 현재 사용되고 있는 메모리 페이지 및 스왑 파일 디스크 블록 수를 보고합니다.
CPU 사용률을 확인합니다.
sar 명령을 -u 옵션과 함께 사용하여 CPU 사용률 통계를 표시합니다.
시스템 테이블 상태를 확인합니다.

sar 명령을 -v 옵션과 함께 사용하여 다음 시스템 테이블에 대한 상태를 보고합니다.

  • 프로세스
  • Inode

  • 파일

  • 공유 메모리 레코드

스와핑 작업을 확인합니다.
sar 명령을 -w 옵션과 함께 사용하여 스와핑 작업을 확인합니다.
터미널 작업을 확인합니다.
sar 명령을 -y 옵션과 함께 사용하여 터미널 장치 작업을 모니터링합니다.
전체 시스템 성능을 확인합니다.
sar -A 명령은 모든 옵션의 통계를 표시하여 전체 시스템 성능 정보를 제공합니다.
자동 데이터 수집을 설정합니다.

시스템에서 자동으로 데이터를 수집하도록 설정하고 sar 명령을 실행하려면 다음을 수행합니다.

  • svcadm enable system/sar:default 명령을 실행합니다.
  • /var/spool/cron/crontabs/sys 파일을 편집합니다.

시스템 작업 모니터링(sar)

sar 명령을 사용하여 다음 작업을 수행합니다.

이 명령에 대한 자세한 내용은 sar(1) 매뉴얼 페이지를 참조하십시오.

파일 액세스를 확인하는 방법(sar -a)

버퍼 작업을 확인하는 방법(sar -b)

예 3-6 버퍼 작업 확인(sar -b)

sar -b 명령 출력의 다음 예는 %rcache%wcache 버퍼가 성능 저하를 유발하고 있지 않음을 보여줍니다. 모든 데이터가 허용 가능한 한도 내에 있습니다.

$ sar -b

SunOS t2k-brm-24 5.10 Generic_144500-10 sun4v    ...

00:00:04 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
01:00:00       0       0     100       0       0      94       0       0
02:00:01       0       0     100       0       0      94       0       0
03:00:00       0       0     100       0       0      92       0       0
04:00:00       0       1     100       0       1      94       0       0
05:00:00       0       0     100       0       0      93       0       0
06:00:00       0       0     100       0       0      93       0       0
07:00:00       0       0     100       0       0      93       0       0
08:00:00       0       0     100       0       0      93       0       0
08:20:00       0       1     100       0       1      94       0       0
08:40:01       0       1     100       0       1      93       0       0
09:00:00       0       1     100       0       1      93       0       0
09:20:00       0       1     100       0       1      93       0       0
09:40:00       0       2     100       0       1      89       0       0
10:00:00       0       9     100       0       5      92       0       0
10:20:00       0       0     100       0       0      68       0       0
10:40:00       0       1      98       0       1      70       0       0
11:00:00       0       1     100       0       1      75       0       0

Average        0       1     100       0       1      91       0       0

다음 표는 -b 옵션으로 표시되는 버퍼 작업을 표시합니다.

필드 이름
설명
bread/s
디스크에서 버퍼 캐시로 제출된 초당 평균 읽기 수
lread/s
버퍼 캐시에서 초당 평균 논리적 읽기 수
%rcache
버퍼 캐시에서 발견된 논리적 읽기의 비율(100% - bread/s/lread/s 비율)
bwrit/s
버퍼 캐시에서 디스크에 쓰여진 초당 평균 물리적 블록 수(512바이트)
lwrit/s
버퍼 캐시로 초당 평균 논리적 쓰기 수
%wcache
버퍼 캐시에서 발견된 논리적 쓰기의 비율(100% - bwrit/s/lwrit/s의 비율)
pread/s
문자 장치 인터페이스를 사용하는 초당 평균 물리적 읽기 수
pwrit/s
문자 장치 인터페이스를 사용하는 초당 평균 물리적 쓰기 요청 수

가장 중요한 항목은 캐시 적중률 %rcache%wcache입니다. 이러한 항목은 시스템 버퍼링의 유효성을 측정합니다. %rcache가 90% 아래로 떨어지거나 %wcache가 65% 아래로 떨어질 경우 버퍼 공간을 늘려 성능을 향상시킬 수 있습니다.

시스템 호출 통계를 확인하는 방법(sar -c)

예 3-7 시스템 호출 통계 확인(sar -c)

다음 예는 sar -c 명령의 출력을 보여줍니다.

$ sar -c

SunOS balmy 5.10 Generic_144500-10 sun4v ...
00:00:04 scall/s sread/s swrit/s  fork/s  exec/s rchar/s wchar/s
01:00:00      89      14       9    0.01    0.00    2906    2394
02:00:01      89      14       9    0.01    0.00    2905    2393
03:00:00      89      14       9    0.01    0.00    2908    2393
04:00:00      90      14       9    0.01    0.00    2912    2393
05:00:00      89      14       9    0.01    0.00    2905    2393
06:00:00      89      14       9    0.01    0.00    2905    2393
07:00:00      89      14       9    0.01    0.00    2905    2393
08:00:00      89      14       9    0.01    0.00    2906    2393
08:20:00      90      14       9    0.01    0.01    2914    2395
08:40:01      90      14       9    0.01    0.00    2914    2396
09:00:00      90      14       9    0.01    0.01    2915    2396
09:20:00      90      14       9    0.01    0.01    2915    2396
09:40:00     880     207     156    0.08    0.08   26671    9290
10:00:00    2020     530     322    0.14    0.13   57675   36393
10:20:00     853     129      75    0.02    0.01   10500    8594
10:40:00    2061     524     450    0.08    0.08  579217  567072
11:00:00    1658     404     350    0.07    0.06 1152916 1144203

Average      302      66      49    0.02    0.01   57842   55544

다음 표는 -c 옵션으로 보고되는 시스템 호출 범주를 설명합니다. 일반적으로 읽기 및 쓰기가 전체 시스템 호출의 약 절반을 차지합니다. 하지만 비율은 시스템에서 수행되는 작업에 따라 크게 달라집니다.

필드 이름
설명
scall/s
초당 모든 유형의 시스템 호출 수입니다. 일반적으로 4-6명의 시스템에서 초당 약 30입니다.
sread/s
초당 read 시스템 호출 수입니다.
swrit/s
초당 write 시스템 호출 수입니다.
fork/s
초당 fork 시스템 호출 수입니다. 4-6명의 시스템에서 초당 약 0.5입니다. 셸 스크립트가 실행되는 경우 이 수는 늘어납니다.
exec/s
초당 exec 시스템 호출 수입니다. fork/s로 나눈 exec/s가 3보다 클 경우 비효율적인 PATH 변수를 찾으십시오.
rchar/s
초당 read 시스템 호출로 전송된 문자 수(바이트)입니다.
wchar/s
초당 write 시스템 호출로 전송된 문자 수(바이트)입니다.

디스크 작업을 확인하는 방법(sar -d)

예 3-8 디스크 작업 확인

이 약식 예는 sar -d 명령의 출력을 보여줍니다.

$ sar -d

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

12:36:32   device        %busy   avque   r+w/s  blks/s  avwait  avserv

12:40:01   dad1             15     0.7      26     399    18.1    10.0
           dad1,a           15     0.7      26     398    18.1    10.0
           dad1,b            0     0.0       0       1     1.0     3.0
           dad1,c            0     0.0       0       0     0.0     0.0
           dad1,h            0     0.0       0       0     0.0     6.0
           fd0               0     0.0       0       0     0.0     0.0
           nfs1              0     0.0       0       0     0.0     0.0
           nfs2              1     0.0       1      12     0.0    13.2
           nfs3              0     0.0       0       2     0.0     1.9
           nfs4              0     0.0       0       0     0.0     7.0
           nfs5              0     0.0       0       0     0.0    57.1
           nfs6              1     0.0       6     125     4.3     3.2
           nfs7              0     0.0       0       0     0.0     6.0
           sd1               0     0.0       0       0     0.0     5.4
           ohci0,bu          0     0.0       0       0     0.0     0.0
           ohci0,ct          0     0.0       0       0     0.0     0.0
           ohci0,in          0     0.0       7       0     0.0     0.0
           ohci0,is          0     0.0       0       0     0.0     0.0
           ohci0,to          0     0.0       7       0     0.0     0.0

다음 표는 -d 옵션으로 보고되는 디스크 장치 작업을 설명합니다.

필드 이름
설명
장치
모니터링되는 디스크 장치의 이름입니다.
%busy
장치가 전송 요청을 서비스하는 시간입니다.
avque
장치가 전송 요청을 서비스하는 시간 동안의 평균 요청 수입니다.
r+w/s
장치로 초당 읽기 및 쓰기 전송 수입니다.
blks/s
장치로 전송된 초당 512바이트 블록 수입니다.
avwait
전송 요청이 대기열에서 유휴 상태로 대기하는 평균 시간(밀리초)입니다. 이 시간은 대기열이 채워진 경우에만 측정됩니다.
avserv
장치에서 전송 요청을 완료하는 평균 시간(밀리초)입니다. 디스크의 경우 이 값에는 탐색 시간, 회전 지연 시간 및 데이터 전송 시간이 포함됩니다.

대기열 길이 및 대기 시간은 대기열이 채워진 경우에만 측정됩니다. %busy가 작은 경우 큰 대기열 및 서비스 시간은 시스템에서 변경된 블록이 디스크에 즉시 쓰여지도록 주기적인 작업을 수행하고 있음을 나타냅니다.

페이지 아웃 및 메모리를 확인하는 방법(sar -g)

예 3-9 페이지 아웃 및 메모리 확인(sar -g)

다음 예는 sar -g 명령의 출력을 보여줍니다.

$ sar -g

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

00:00:00  pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf
01:00:00     0.00     0.00     0.00     0.00     0.00
02:00:00     0.01     0.01     0.01     0.00     0.00
03:00:00     0.00     0.00     0.00     0.00     0.00
04:00:00     0.00     0.00     0.00     0.00     0.00
05:00:00     0.00     0.00     0.00     0.00     0.00
06:00:00     0.00     0.00     0.00     0.00     0.00
07:00:00     0.00     0.00     0.00     0.00     0.00
08:00:00     0.00     0.00     0.00     0.00     0.00
08:20:01     0.00     0.00     0.00     0.00     0.00
08:40:00     0.00     0.00     0.00     0.00     0.00
09:00:00     0.00     0.00     0.00     0.00     0.00
09:20:01     0.05     0.52     1.62    10.16     0.00
09:40:01     0.03     0.44     1.47     4.77     0.00
10:00:02     0.13     2.00     4.38    12.28     0.00
10:20:03     0.37     4.68    12.26    33.80     0.00

Average      0.02     0.25     0.64     1.97     0.00

다음 표는 -g 옵션의 출력을 설명합니다.

필드 이름
설명
pgout/s
초당 페이지 아웃 요청 수입니다.
ppgout/s
초당 페이지 아웃된 실제 페이지 수입니다. 단일 페이지 아웃 요청에는 여러 페이지의 페이지 아웃이 포함될 수 있습니다.
pgfree/s
여유 목록에 있는 초당 페이지 수입니다.
pgscan/s
page 데몬으로 스캔된 초당 페이지 수입니다. 이 값이 높을 경우 page 데몬이 여유 메모리를 확인하는 데 많은 시간을 소비하고 있는 것입니다. 이 상황은 더 많은 메모리가 필요함을 나타냅니다.
%ufs_ipf
연관된 재사용 가능한 페이지가 있는 해제 목록에서 iget으로 가져간 ufs inode의 백분율입니다. 이러한 페이지는 비워지며 프로세스에서 재확보할 수 없습니다. 따라서 이 필드는 페이지 비우기에서 igets의 백분율을 나타냅니다. 높은 값은 inode의 여유 목록이 페이지 제한적이고, ufs inode의 수를 늘려야 함을 나타냅니다.

커널 메모리 할당 확인

KMA를 통해 커널 부속 시스템에서 필요에 따라 메모리를 할당하고 해제할 수 있습니다.

부하가 가장 많은 시간대에 필요할 것으로 예상되는 최대 메모리 양을 정적으로 할당하는 대신 KMA는 메모리에 대한 요청을 세 범주로 나눕니다.

KMA는 작은 요청과 큰 요청을 충족하기 위해 두 메모리 풀을 유지합니다. 매우 큰 요청은 시스템 페이지 할당기에서 메모리를 할당하여 충족됩니다.

KMA 리소스를 사용하는 드라이버 또는 STREAMS를 쓰는 데 사용되는 시스템을 확인하는 경우 sar -k 명령이 유용할 수 있습니다. 그렇지 않은 경우 제공되는 정보가 필요하지 않을 수 있습니다. KMA 리소스를 사용하지만 종료하기 전에 명시적으로 리소스를 반환하지 않는 드라이버나 모듈은 메모리 누수를 유발할 수 있습니다. 메모리 누수로 인해 시간에 따라 KMA로 할당되는 메모리의 양이 늘어나게 됩니다. 따라서 sar -k 명령의 alloc 필드가 시간에 따라 계속 늘어나면 메모리 누수가 있을 수 있습니다. 또 하나의 메모리 누수 지표는 요청 실패입니다. 이 문제가 발생할 경우 메모리 누수로 인해 KMA에서 메모리를 확보하고 할당할 수 없게 됩니다.

메모리 누수가 발생할 것으로 보이면 KMA에서 메모리를 요청하고 반환하지 않은 드라이버나 STREAMS를 확인해야 합니다.

커널 메모리 할당을 확인하는 방법(sar -k)

예 3-10 커널 메모리 할당 확인(sar -k)

다음은 sar -k 출력의 약식 예입니다.

$ sar -k

SunOS balmy 5.10 Generic_144500-10 sun4v    ...
00:00:04 sml_mem   alloc  fail  lg_mem   alloc  fail  ovsz_alloc  fail
01:00:00 6119744 4852865     0 60243968 54334808   156     9666560     0
02:00:01 6119744 4853057     0 60243968 54336088   156     9666560     0
03:00:00 6119744 4853297     0 60243968 54335760   156     9666560     0
04:00:00 6119744 4857673     0 60252160 54375280   156     9666560     0
05:00:00 6119744 4858097     0 60252160 54376240   156     9666560     0
06:00:00 6119744 4858289     0 60252160 54375608   156     9666560     0
07:00:00 6119744 4858793     0 60252160 54442424   156     9666560     0
08:00:00 6119744 4858985     0 60252160 54474552   156     9666560     0
08:20:00 6119744 4858169     0 60252160 54377400   156     9666560     0
08:40:01 6119744 4857345     0 60252160 54376880   156     9666560     0
09:00:00 6119744 4859433     0 60252160 54539752   156     9666560     0
09:20:00 6119744 4858633     0 60252160 54410920   156     9666560     0
09:40:00 6127936 5262064     0 60530688 55619816   156     9666560     0
10:00:00 6545728 5823137     0 62996480 58391136   156     9666560     0
10:20:00 6545728 5758997     0 62996480 57907400   156     9666560     0
10:40:00 6734144 6035759     0 64389120 59743064   156    10493952     0
11:00:00 6996288 6394872     0 65437696 60935936   156    10493952     0

Average  6258044 5150556     0 61138340 55609004   156     9763900     0

다음 표는 -k 옵션의 출력을 설명합니다.

필드 이름
설명
sml_mem
KMA가 작은 메모리 요청 풀에서 사용할 수 있는 메모리의 양(바이트)입니다. 이 풀에서 작은 요청은 256바이트 미만입니다.
alloc
KMA가 작은 메모리 요청 풀에서 작은 메모리 요청에 할당한 메모리의 양(바이트)입니다.
fail
작은 메모리 양에 대해 실패한 요청 수입니다.
lg_mem
KMA가 큰 메모리 요청 풀에서 사용할 수 있는 메모리의 양(바이트)입니다. 이 풀에서 큰 요청은 512바이트-4킬로바이트입니다.
alloc
KMA가 큰 메모리 요청 풀에서 큰 메모리 요청에 할당한 메모리의 양(바이트)입니다.
fail
큰 메모리 양에 대해 실패한 요청 수입니다.
ovsz_alloc
4킬로바이트보다 큰 요청인 매우 큰 요청에 대해 할당된 메모리의 양입니다. 이러한 요청은 페이지 할당기로 충족됩니다. 따라서 풀이 없습니다.
fail
매우 큰 메모리 양에 대해 실패한 요청 수입니다.

프로세스간 통신을 확인하는 방법(sar -m)

예 3-11 프로세스간 통신 확인(sar -m)

다음 약식 예는 sar -m 명령의 출력을 보여줍니다.

$ sar -m

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

00:00:00   msg/s  sema/s
01:00:00    0.00    0.00
02:00:02    0.00    0.00
03:00:00    0.00    0.00
04:00:00    0.00    0.00
05:00:01    0.00    0.00
06:00:00    0.00    0.00

Average     0.00    0.00

페이지 인 작업을 확인하는 방법(sar -p)

예 3-12 페이지 인 작업 확인(sar -p)

다음 예는 sar -p 명령의 출력을 보여줍니다.

$ sar -p

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

00:00:04  atch/s  pgin/s ppgin/s  pflt/s  vflt/s slock/s
01:00:00    0.09    0.00    0.00    0.78    2.02    0.00
02:00:01    0.08    0.00    0.00    0.78    2.02    0.00
03:00:00    0.09    0.00    0.00    0.81    2.07    0.00
04:00:00    0.11    0.01    0.01    0.86    2.18    0.00
05:00:00    0.08    0.00    0.00    0.78    2.02    0.00
06:00:00    0.09    0.00    0.00    0.78    2.02    0.00
07:00:00    0.08    0.00    0.00    0.78    2.02    0.00
08:00:00    0.09    0.00    0.00    0.78    2.02    0.00
08:20:00    0.11    0.00    0.00    0.87    2.24    0.00
08:40:01    0.13    0.00    0.00    0.90    2.29    0.00
09:00:00    0.11    0.00    0.00    0.88    2.24    0.00
09:20:00    0.10    0.00    0.00    0.88    2.24    0.00
09:40:00    2.91    1.80    2.38    4.61   17.62    0.00
10:00:00    2.74    2.03    3.08    8.17   21.76    0.00
10:20:00    0.16    0.04    0.04    1.92    2.96    0.00
10:40:00    2.10    2.50    3.42    6.62   16.51    0.00
11:00:00    3.36    0.87    1.35    3.92   15.12    0.00

Average     0.42    0.22    0.31    1.45    4.00    0.00

다음 표는 -p 옵션으로 보고된 통계를 설명합니다.

필드 이름
설명
atch/s
현재 메모리에 있는 페이지를 확보하여 충족된 초당 페이지 폴트 수입니다(초당 첨부). 인스턴스에는 여유 목록에서 잘못된 페이지 확보 및 현재 다른 프로세스에서 사용되고 있는 텍스트 페이지 공유가 포함됩니다. 동일한 프로그램 텍스트에 액세스하고 있는 둘 이상의 프로세스를 예로 들 수 있습니다.
pgin/s
파일 시스템이 페이지 인 요청을 수신하는 초당 횟수입니다.
ppgin/s
초당 페이지 인된 페이지 수입니다. 소프트 잠금 요청(slock/s 참조) 또는 큰 블록 크기와 같은 단일 페이지 인 요청에는 여러 페이지의 페이지 인이 포함될 수 있습니다.
pflt/s
보호 오류의 페이지 폴트 수입니다. 보호 결함 인스턴스는 페이지 및 “쓰기 시 복사”에 대한 잘못된 액세스를 나타냅니다. 일반적으로 이 수는 주로 “쓰기 시 복사”로 구성됩니다.
vflt/s
초당 주소 변환 페이지 폴트 수입니다. 이러한 결함을 유효성 결함이라고 합니다. 유효성 결함은 유효한 프로세스 테이블 항목이 해당 가상 주소에 대해 존재하지 않을 때 발생합니다.
slock/s
물리적 I/O가 필요한 소프트웨어 잠금 요청으로 인해 발생하는 초당 결함 수입니다. 예를 들어, 소프트웨어 잠금 요청은 디스크에서 메모리로 데이터를 전송할 때 발생할 수 있습니다. 시스템이 데이터를 수신해야 하는 페이지를 잠그므로 다른 페이지에서 페이지를 확보하고 사용할 수 없습니다.

대기열 작업을 확인하는 방법(sar -q)

예 3-13 대기열 작업 확인

다음 예는 sar -q 명령의 출력을 보여줍니다. %runocc 값이 높고(90% 이상) runq-sz 값이 2보다 클 경우, CPU 부하가 높고 응답 속도가 떨어집니다. 이 경우 허용할 만한 시스템 응답 속도를 얻으려면 추가 CPU가 필요할 수 있습니다.

# sar -q
SunOS balmy 5.10 Generic_144500-10 sun4v    ...

00:00:00 runq-sz %runocc swpq-sz %swpocc
01:00:00     1.0       7     0.0       0
02:00:00     1.0       7     0.0       0
03:00:00     1.0       7     0.0       0
04:00:00     1.0       7     0.0       0
05:00:00     1.0       6     0.0       0
06:00:00     1.0       7     0.0       0

Average      1.0       7     0.0       0

사용되지 않은 메모리를 확인하는 방법(sar -r)

예 3-14 사용되지 않은 메모리 확인(sar -r)

다음 예는 sar -r 명령의 출력을 보여줍니다.

$ sar -r

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

00:00:04 freemem freeswap
01:00:00   44717  1715062
02:00:01   44733  1715496
03:00:00   44715  1714746
04:00:00   44751  1715403
05:00:00   44784  1714743
06:00:00   44794  1715186
07:00:00   44793  1715159
08:00:00   44786  1714914
08:20:00   44805  1715576
08:40:01   44797  1715347
09:00:00   44761  1713948
09:20:00   44802  1715478
09:40:00   41770  1682239
10:00:00   35401  1610833
10:20:00   34295  1599141
10:40:00   33943  1598425
11:00:00   30500  1561959

Average    43312  1699242

CPU 사용률을 확인하는 방법(sar -u)

예 3-15 CPU 사용률 확인(sar -u)

다음 예는 sar -u 명령의 출력을 나타냅니다.

$ sar -u

00:00:04    %usr    %sys    %wio   %idle
01:00:00       0       0       0     100
02:00:01       0       0       0     100
03:00:00       0       0       0     100
04:00:00       0       0       0     100
05:00:00       0       0       0     100
06:00:00       0       0       0     100
07:00:00       0       0       0     100
08:00:00       0       0       0     100
08:20:00       0       0       0      99
08:40:01       0       0       0      99
09:00:00       0       0       0      99
09:20:00       0       0       0      99
09:40:00       4       1       0      95
10:00:00       4       2       0      94
10:20:00       1       1       0      98
10:40:00      18       3       0      79
11:00:00      25       3       0      72

Average        2       0       0      98

시스템 테이블 상태를 확인하는 방법(sar -v)

예 3-16 시스템 테이블 상태 확인(sar -v)

다음 약식 예는 sar -v 명령의 출력을 보여줍니다. 이 예는 모든 테이블이 오버플로우가 없을 만큼 큰 경우입니다. 이러한 테이블은 물리적 메모리의 양을 기준으로 모두 동적으로 할당됩니다.

$ sar -v

00:00:04  proc-sz    ov  inod-sz    ov  file-sz    ov   lock-sz
01:00:00   69/8010    0 3476/34703    0    0/0       0    0/0   
02:00:01   69/8010    0 3476/34703    0    0/0       0    0/0   
03:00:00   69/8010    0 3476/34703    0    0/0       0    0/0   
04:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
05:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
06:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
07:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
08:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
08:20:00   69/8010    0 3494/34703    0    0/0       0    0/0   
08:40:01   69/8010    0 3494/34703    0    0/0       0    0/0   
09:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
09:20:00   69/8010    0 3494/34703    0    0/0       0    0/0   
09:40:00   74/8010    0 3494/34703    0    0/0       0    0/0   
10:00:00   75/8010    0 4918/34703    0    0/0       0    0/0   
10:20:00   72/8010    0 4918/34703    0    0/0       0    0/0   
10:40:00   71/8010    0 5018/34703    0    0/0       0    0/0   
11:00:00   77/8010    0 5018/34703    0    0/0       0    0/0  

-v 옵션의 출력은 다음 표에 설명되어 있습니다.

필드 이름
설명
proc-sz
커널에서 현재 사용되고 있거나 할당된 프로세스 항목(proc 구조) 수입니다.
inod-sz
커널에서 할당된 최대 inode 수와 비교한 메모리의 총 inode 수입니다. 이 수는 엄격한 고수위가 아닙니다. 수는 오버플로우될 수 있습니다.
file-sz
열린 시스템 파일 테이블의 크기입니다. 공간이 파일 테이블에 대해 동적으로 할당되므로 sz0으로 지정됩니다.
ov
각 테이블에 대한 샘플링 시점 사이에 발생하는 오버플로우입니다.
lock-sz
커널에서 현재 사용되고 있거나 할당된 공유 메모리 레코드 테이블 항목 수입니다. 공간이 공유 메모리 레코드 테이블에 대해 동적으로 할당되므로 sz0으로 지정됩니다.

스와핑 작업을 확인하는 방법(sar -w)

예 3-17 스왑 작업 확인(sar -w)

다음 예는 sar -w 명령의 출력을 보여줍니다.

$ sar -w

00:00:04 swpin/s bswin/s swpot/s bswot/s pswch/s
01:00:00    0.00     0.0    0.00     0.0     132
02:00:01    0.00     0.0    0.00     0.0     133
03:00:00    0.00     0.0    0.00     0.0     133
04:00:00    0.00     0.0    0.00     0.0     134
05:00:00    0.00     0.0    0.00     0.0     133
06:00:00    0.00     0.0    0.00     0.0     133
07:00:00    0.00     0.0    0.00     0.0     132
08:00:00    0.00     0.0    0.00     0.0     131
08:20:00    0.00     0.0    0.00     0.0     133
08:40:01    0.00     0.0    0.00     0.0     132
09:00:00    0.00     0.0    0.00     0.0     132
09:20:00    0.00     0.0    0.00     0.0     132
09:40:00    0.00     0.0    0.00     0.0     335
10:00:00    0.00     0.0    0.00     0.0     601
10:20:00    0.00     0.0    0.00     0.0     353
10:40:00    0.00     0.0    0.00     0.0     747
11:00:00    0.00     0.0    0.00     0.0     804

Average     0.00     0.0    0.00     0.0     198

터미널 작업을 확인하는 방법(sar -y)

예 3-18 터미널 작업 확인(sar -y)

다음 예는 sar -y 명령의 출력을 보여줍니다.

$ sar -y

00:00:04 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s
01:00:00       0       0       0       0       0       0
02:00:01       0       0       0       0       0       0
03:00:00       0       0       0       0       0       0
04:00:00       0       0       0       0       0       0
05:00:00       0       0       0       0       0       0
06:00:00       0       0       0       0       0       0
07:00:00       0       0       0       0       0       0
08:00:00       0       0       0       0       0       0
08:20:00       0       0       0       0       0       0
08:40:01       0       0       0       0       0       0
09:00:00       0       0       0       0       0       0
09:20:00       0       0       0       0       0       0
09:40:00       0       0       1       0       0       0
10:00:00       0       0      37       0       0       0
10:20:00       0       0       0       0       0       0
10:40:00       0       0       3       0       0       0
11:00:00       0       0       3       0       0       0

Average        0       0       1       0       0       0

전체 시스템 성능을 확인하는 방법(sar -A)

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

세 명령은 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 항목은 다음을 수행합니다.

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

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]

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

$ sar -u 10 2

sar 명령에 대한 기타 중요 정보에는 다음이 포함됩니다.

다음 표는 sar 옵션 및 해당 작업을 나열합니다.

표 3-5 sar 명령에 대한 옵션

옵션
작업
-a
파일 액세스 작업을 확인합니다.
-b
버퍼 작업을 확인합니다.
-c
시스템 호출을 확인합니다.
-d
각 블록 장치에 대한 작업을 확인합니다.
-g
페이지 아웃 및 메모리 해제를 확인합니다.
-k
커널 메모리 할당을 확인합니다.
-m
프로세스간 통신을 확인합니다.
-nv
시스템 테이블 상태를 확인합니다.
-p
스왑 및 전달 작업을 확인합니다.
-q
대기열 작업을 확인합니다.
-r
사용되지 않은 메모리를 확인합니다.
-u
CPU 사용률을 확인합니다.
-w
스와핑 및 전환 볼륨을 확인합니다.
-y
터미널 작업을 확인합니다.
-A
전체 시스템 성능을 보고합니다. 모든 옵션을 입력하는 것과 같습니다.

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

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

  1. root 역할을 맡습니다.

    Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.

  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) 매뉴얼 페이지를 참조하십시오.