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

인쇄 보기 종료

업데이트 날짜: 2014년 9월
 
 

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

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

  • 시스템 작업에 대한 데이터를 구성하고 확인합니다.

  • 특별 요청에 따라 시스템 작업 데이터에 액세스합니다.

  • 자동 보고서를 생성하여 시스템 성능을 측정 및 모니터링하고, 특별 요청 보고서를 생성하여 특정 성능 문제를 파악합니다. sar 명령이 시스템에서 실행되도록 설정하는 방법 및 이러한 도구에 대한 자세한 내용은 자동으로 시스템 작업 데이터 수집(sar)을 참조하십시오.

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

파일 액세스 확인(sar –a)

sar -a 명령을 사용하여 파일 액세스 작업을 표시합니다.

$ sar -a

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

00:00:00  iget/s namei/s dirbk/s
01:00:00       0       3       0
02:00:00       0       3       0
03:00:00       0       3       0
04:00:00       0       3       0
05:00:00       0       3       0
06:00:00       0       3       0
07:00:00       0       3       0
08:00:00       0       3       0
08:20:01       0       3       0
08:40:00       0       3       0
09:00:00       0       3       0
09:20:01       0      10       0
09:40:01       0       1       0
10:00:02       0       5       0

Average        0       4       0

sar -a 명령으로 보고되는 운영 체제 루틴은 다음과 같습니다.

iget/s

디렉토리 이름 조회 캐시(DNLC)에 없는 inode에 대한 요청 수입니다.

namei/s

초당 파일 시스템 경로 검색 수입니다. namei가 DNLC에서 디렉토리 이름을 찾지 못할 경우 iget을 호출하여 파일이나 디렉토리에 대한 inode를 가져옵니다. 따라서 대부분의 igets는 DNLC 실패의 결과입니다.

dirbk/s

초당 수행된 디렉토리 블록 읽기 수입니다.

이러한 운영 체제 루틴에 대해 보고되는 값이 클수록 커널이 사용자 파일에 액세스하는 데 소비하는 시간이 많아집니다. 시간의 양에는 얼마나 많은 프로그램 및 응용 프로그램이 파일 시스템을 사용하고 있는지 반영됩니다. –a 옵션은 응용 프로그램이 얼마나 디스크 종속적인지 보는 데 유용합니다.

버퍼 작업 확인(sar –b)

sar -b 명령을 사용하여 버퍼 작업 통계를 표시합니다.

버퍼는 메타 데이터를 캐시에 저장하는 데 사용됩니다. 메타 데이터에는 inode, 실린더 그룹 블록 및 간접 블록이 포함됩니다.

$ sar -b
00:00:00 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
01:00:00       0       0     100       0       0      55       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% 아래로 떨어질 경우 버퍼 공간을 늘려 성능을 향상시킬 수 있습니다.

예 3-3  버퍼 작업 확인(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

시스템 호출 통계 확인(sar –c)

sar -c 명령을 사용하여 시스템 호출 통계를 표시합니다.

$ sar -c
00:00:00 scall/s sread/s swrit/s  fork/s  exec/s rchar/s wchar/s
01:00:00      38       2       2    0.00    0.00     149     120

다음 목록은 –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 시스템 호출로 전송된 문자 수(바이트)입니다.

예 3-4  시스템 호출 통계 확인(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

디스크 작업 확인(sar –d)

sar -d 명령을 사용하여 디스크 작업 통계를 표시합니다.

$ sar -d

00:00:00   device        %busy   avque   r+w/s  blks/s  avwait  avserv

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

device

모니터링되는 디스크 장치의 이름입니다.

%busy

장치가 전송 요청을 서비스하는 시간입니다.

avque

장치가 전송 요청을 서비스하는 시간 동안의 평균 요청 수입니다.

r+w/s

장치로 초당 읽기 및 쓰기 전송 수입니다.

blks/s

장치로 전송된 초당 512바이트 블록 수입니다.

avwait

전송 요청이 대기열에서 대기하는 평균 시간(밀리초)입니다. 이 시간은 대기열이 채워진 경우에만 측정됩니다.

avserv

장치에서 전송 요청을 완료하는 평균 시간(밀리초)입니다. 디스크의 경우 이 값에는 탐색 시간, 회전 지연 시간 및 데이터 전송 시간이 포함됩니다.

예 3-5  디스크 작업 확인

이 약식 예는 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

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

페이지 아웃 및 메모리 확인(sar –g)

sar -g 명령을 사용하여 평균 페이지 아웃 및 메모리 해제 작업을 표시합니다.

$ sar -g
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

sar -g 명령으로 표시되는 출력은 더 많은 메모리가 필요한지 여부를 알 수 있는 좋은 지표입니다. ps -elf 명령을 사용하여 page 데몬에서 사용되는 주기 수를 표시합니다. pgfree/s pgscan/s 필드에 대한 높은 값과 함께 높은 주기 수는 메모리 부족을 나타냅니다.

또한 sar -g 명령은 inode가 너무 빨리 재사용되어 재사용 가능한 페이지 유실을 일으키는지 여부를 보여줍니다.

다음 목록은 –g 옵션의 출력을 설명합니다.

pgout/s

초당 페이지 아웃 요청 수입니다.

ppgout/s

초당 페이지 아웃된 실제 페이지 수입니다. 단일 페이지 아웃 요청에는 여러 페이지의 페이지 아웃이 포함될 수 있습니다.

pgfree/s

여유 목록에 있는 초당 페이지 수입니다.

pgscan/s

page 데몬으로 스캔된 초당 페이지 수입니다. 이 값이 높을 경우 page 데몬이 여유 메모리를 확인하는 데 많은 시간을 소비하고 있는 것입니다. 이 상황은 더 많은 메모리가 필요함을 나타냅니다.

%ufs_ipf

연관된 재사용 가능한 페이지가 있는 여유 목록에서 iget으로 가져간 ufs inode의 백분율입니다. 이러한 페이지는 비워지며 프로세스에서 재확보할 수 없습니다. 따라서 이 필드는 페이지 비우기에서 igets의 백분율을 나타냅니다. 높은 값은 inode의 여유 목록이 페이지 제한적이고, ufs inode의 수를 늘려야 함을 나타냅니다.

예 3-6  페이지 아웃 및 메모리 확인(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

커널 메모리 할당 확인

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

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

  • 작음(256바이트 미만)

  • 큼(512바이트- 4킬로바이트)

  • 매우 큼(4킬로바이트 이상)

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

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

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

커널 메모리 할당 확인(sar –k)

sar -k 명령을 사용하여 커널 메모리 할당기(KMA)의 작업을 보고합니다.

$ sar -k
00:00:00 sml_mem   alloc  fail  lg_mem   alloc   fail  ovsz_alloc  fail
01:00:00 2523136 1866512     0 18939904 14762364    0      360448     0
02:00:02 2523136 1861724     0 18939904 14778748    0      360448     0

다음 목록은 –k 옵션의 출력을 설명합니다.

sml_mem

KMA가 작은 메모리 요청 풀에서 사용할 수 있는 메모리의 양(바이트)입니다. 이 풀에서 작은 요청은 256바이트 미만입니다.

alloc

KMA가 작은 메모리 요청 풀에서 작은 메모리 요청에 할당한 메모리의 양(바이트)입니다.

fail

작은 메모리 양에 대해 실패한 요청 수입니다.

lg_mem

KMA가 큰 메모리 요청 풀에서 사용할 수 있는 메모리의 양(바이트)입니다. 이 풀에서 큰 요청은 512바이트-4킬로바이트입니다.

alloc

KMA가 큰 메모리 요청 풀에서 큰 메모리 요청에 할당한 메모리의 양(바이트)입니다.

fail

큰 메모리 양에 대해 실패한 요청 수입니다.

ovsz_alloc

4킬로바이트보다 큰 요청인 매우 큰 요청에 대해 할당된 메모리의 양입니다. 이러한 요청은 페이지 할당기로 충족됩니다. 따라서 풀이 없습니다.

fail

매우 큰 메모리 양에 대해 실패한 요청 수입니다.

예 3-7  커널 메모리 할당 확인(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

프로세스 간 통신 확인(sar –m)

sar -m 명령을 사용하여 프로세스 간 통신 작업을 보고합니다.

$ sar -m
00:00:00   msg/s  sema/s
01:00:00    0.00    0.00

메시지나 세마포어를 사용하는 응용 프로그램을 실행하지 않는다면 이러한 수치는 대개 0.00입니다.

–m 옵션의 출력은 다음과 같습니다.

msg/s

초당 메시지 작업(송수신) 수

sema/s

초당 세마포어 작업 수

다음 약식 예는 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)

sar -p 명령을 사용하여 보호 및 변환 결함을 포함하는 페이지 인 작업을 보고합니다.

$ sar -p
00:00:00  atch/s  pgin/s ppgin/s  pflt/s  vflt/s slock/s
01:00:00    0.07    0.00    0.00    0.21    0.39    0.00

다음 목록은 –p 옵션으로 보고된 통계를 설명합니다.

atch/s

현재 메모리에 있는 페이지를 확보하여 충족된 초당 페이지 폴트 수입니다(초당 첨부). 인스턴스에는 여유 목록에서 잘못된 페이지 확보 및 현재 다른 프로세스에서 사용되고 있는 텍스트 페이지 공유가 포함됩니다. 동일한 프로그램 텍스트에 액세스하고 있는 둘 이상의 프로세스를 예로 들 수 있습니다.

pgin/s

파일 시스템이 페이지 인 요청을 수신하는 초당 횟수입니다.

ppgin/s

초당 페이지 인된 페이지 수입니다. 소프트 잠금 요청(slock/s 참조) 또는 큰 블록 크기와 같은 단일 페이지 인 요청에는 여러 페이지의 페이지 인이 포함될 수 있습니다.

pflt/s

보호 오류의 페이지 폴트 수입니다. 보호 결함 인스턴스는 페이지 및 “쓰기 시 복사”에 대한 잘못된 액세스를 나타냅니다. 일반적으로 이 수는 주로 “쓰기 시 복사”로 구성됩니다.

vflt/s

초당 주소 변환 페이지 폴트 수입니다. 이러한 결함은 유효한 프로세스 테이블 항목이 해당 가상 주소에 대해 존재하지 않을 때 발생하는 유효성 결함이라고 합니다.

slock/s

물리적 I/O가 필요한 소프트웨어 잠금 요청으로 인해 발생하는 초당 결함 수입니다. 예를 들어, 소프트웨어 잠금 요청은 디스크에서 메모리로 데이터를 전송할 때 발생할 수 있습니다. 시스템이 데이터를 수신해야 하는 페이지를 잠그므로 다른 페이지에서 페이지를 확보하고 사용할 수 없습니다.

예 3-8  페이지 인 작업 확인(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

대기열 작업 확인(sar –q)

sar –q 명령을 사용하여 다음 정보를 보고합니다.

  • 대기열이 채워진 동안의 평균 대기열 길이입니다.

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

$ sar -q
00:00:00 runq-sz %runocc swpq-sz %swpocc

–q 옵션의 출력은 다음과 같습니다.

runq-sz

실행을 위해 CPU를 대기 중인 메모리의 커널 스레드 수입니다. 일반적으로 이 값은 2보다 작아야 합니다. 지속적으로 높은 값은 시스템이 CPU 제한적임을 나타냅니다.

%runocc

전달 대기열이 채워진 시간의 백분율입니다.

swpq-sz

교체되어 나온 프로세스의 평균 개수입니다.

%swpocc

프로세스가 교체되어 나온 시간의 백분율입니다.

예 3-9  대기열 작업 확인

다음 예는 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)

sar -r 명령을 사용하여 현재 사용되지 않은 메모리 페이지 및 스왑 파일 디스크 블록 수를 보고합니다.

$ sar -r
00:00:00 freemem freeswap
01:00:00    2135   401922

–r 옵션의 출력은 다음과 같습니다.

freemem

명령으로 샘플링된 간격 동안 사용자 프로세스에서 사용할 수 있는 평균 메모리 페이지 수입니다. 페이지 크기는 시스템에 따라 다릅니다.

freeswap

페이지 스와핑에 사용할 수 있는 512바이트 디스크 블록 수입니다.

예 3-10  사용되지 않은 메모리 확인(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)

sar -u 명령을 사용하여 CPU 사용률 통계를 표시합니다.

$ sar -u
00:00:00    %usr    %sys    %wio   %idle
01:00:00       0       0       0     100

옵션이 없는 sar 명령은 sar -u 명령과 같습니다. 특정 시점에 프로세서는 사용 상태이거나 유휴 상태입니다. 사용 상태일 때 프로세서는 사용자 모드이거나 시스템 모드입니다. 유휴 상태일 때 프로세서는 I/O 완료를 대기 중이거나 할 일이 없습니다.

–u 옵션의 출력은 다음과 같습니다.

%usr

프로세서가 사용자 모드인 시간의 백분율입니다.

%sys

프로세서가 시스템 모드인 시간의 백분율입니다.

%wio

프로세서가 유휴 상태이고 I/O 완료를 대기 중인 시간의 백분율입니다.

%idle

프로세서가 유휴 상태이고 I/O를 대기 중이 아닌 시간의 백분율입니다.

높은 %wio 값은 일반적으로 디스크 성능 저하가 발생함을 의미합니다.

예 3-11  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)

sar -v 명령을 사용하여 프로세스 테이블, inode 테이블, 파일 테이블 및 공유 메모리 레코드 테이블의 상태를 보고합니다.

$ sar -v
00:00:00  proc-sz    ov  inod-sz    ov  file-sz    ov   lock-sz
01:00:00   43/922     0 2984/4236    0  322/322     0    0/0   

–v 옵션의 출력은 다음 목록에 설명되어 있습니다.

proc-sz

커널에서 현재 사용되고 있거나 할당된 프로세스 항목(proc 구조) 수입니다.

inod-sz

커널에서 할당된 최대 inode 수와 비교한 메모리의 총 inode 수입니다. 이 수는 엄격한 고수위가 아닙니다. 수는 오버플로우될 수 있습니다.

file-sz

열린 시스템 파일 테이블의 크기입니다. 공간이 파일 테이블에 대해 동적으로 할당되므로 sz0으로 지정됩니다.

ov

각 테이블에 대한 샘플링 시점 사이에 발생하는 오버플로우입니다.

lock-sz

커널에서 현재 사용되고 있거나 할당된 공유 메모리 레코드 테이블 항목 수입니다. 공간이 공유 메모리 레코드 테이블에 대해 동적으로 할당되므로 sz0으로 지정됩니다.

예 3-12  시스템 테이블 상태 확인(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  

스왑 작업 확인(sar –w)

sar -w 명령을 사용하여 스와핑 및 전환 작업을 보고합니다.

$ sar -w
00:00:00 swpin/s bswin/s swpot/s bswot/s pswch/s
01:00:00    0.00     0.0    0.00     0.0      22

다음 목록은 sar –w 명령 출력과 관련된 목표 값 및 관찰을 설명합니다.

swpin/s

초당 메모리로 LWP 전송 수입니다.

bswin/s

초당 스왑 인을 위해 전송된 블록 수입니다. /* (float)PGTOBLK(xx->cvmi.pgswapin) / sec_diff */.

swpot/s

초당 메모리에서 스왑 아웃된 평균 프로세스 수입니다. 이 수가 1보다 클 경우 메모리를 늘려야 합니다.

bswot/s

초당 스왑 아웃을 위해 전송된 블록 수입니다.

pswch/s

초당 커널 스레드 전환 수입니다.


주 -  모든 프로세스 스왑 인에는 프로세스 초기화가 포함됩니다.
예 3-13  스왑 작업 확인(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)

sar -y 명령을 사용하여 터미널 장치 작업을 모니터링합니다.

$ sar -y
00:00:00 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s
01:00:00       0       0       0       0       0       0

많은 터미널 I/O가 있을 경우 이 보고서를 사용하여 잘못된 행이 존재하는지 확인할 수 있습니다. 기록된 작업은 다음 목록에서 정의됩니다.

rawch/s

초당 입력 문자(원시 대기열)입니다

canch/s

초당 캐논으로 처리된 입력 문자(캐노니컬 대기열)입니다

outch/s

초당 출력 문자(출력 대기열)입니다

rcvin/s

초당 수신기 하드웨어 인터럽트입니다

xmtin/s

초당 전송기 하드웨어 인터럽트입니다

mdmin/s

초당 모뎀 인터럽트입니다

초당 모뎀 인터럽트 수(mdmin/s)는 0에 가까워야 합니다. 초당 수신 및 전송 인터럽트( xmtin/srcvin/s)는 각각 수신 또는 전송 문자의 수보다 작거나 같아야 합니다. 그렇지 않은 경우 잘못된 라인을 확인합니다.

예 3-14  터미널 작업 확인(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 -A 명령을 사용하여 모든 옵션의 통계를 표시하여 전체 시스템 성능 보기를 제공합니다.

이 명령은 좀더 포괄적인 관점을 제공합니다. 단일 시점 세그먼트의 데이터보다 많은 데이터가 표시될 경우 보고서에는 평균이 포함됩니다.