시스템 작업에 대한 데이터를 구성하고 확인합니다.
특별 요청에 따라 시스템 작업 데이터에 액세스합니다.
자동 보고서를 생성하여 시스템 성능을 측정 및 모니터링하고, 특별 요청 보고서를 생성하여 특정 성능 문제를 파악합니다. sar 명령이 시스템에서 실행되도록 설정하는 방법 및 이러한 도구에 대한 자세한 내용은 자동으로 시스템 작업 데이터 수집(sar)을 참조하십시오.
이 명령에 대한 자세한 내용은 sar(1) 매뉴얼 페이지를 참조하십시오.
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 명령으로 보고되는 운영 체제 루틴은 다음과 같습니다.
디렉토리 이름 조회 캐시(DNLC)에 없는 inode에 대한 요청 수입니다.
초당 파일 시스템 경로 검색 수입니다. namei가 DNLC에서 디렉토리 이름을 찾지 못할 경우 iget을 호출하여 파일이나 디렉토리에 대한 inode를 가져옵니다. 따라서 대부분의 igets는 DNLC 실패의 결과입니다.
초당 수행된 디렉토리 블록 읽기 수입니다.
이러한 운영 체제 루틴에 대해 보고되는 값이 클수록 커널이 사용자 파일에 액세스하는 데 소비하는 시간이 많아집니다. 시간의 양에는 얼마나 많은 프로그램 및 응용 프로그램이 파일 시스템을 사용하고 있는지 반영됩니다. –a 옵션은 응용 프로그램이 얼마나 디스크 종속적인지 보는 데 유용합니다.
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 옵션으로 표시되는 버퍼 작업을 표시합니다.
|
가장 중요한 항목은 캐시 적중률 %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 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 옵션으로 보고된 시스템 호출 범주에 대해 설명합니다. 일반적으로 읽기 및 쓰기가 전체 시스템 호출의 약 절반을 차지합니다. 하지만 비율은 시스템에서 수행되는 작업에 따라 크게 달라집니다.
초당 모든 유형의 시스템 호출 수입니다. 일반적으로 4-6명의 시스템에서 초당 약 30입니다.
초당 read 시스템 호출 수입니다.
초당 write 시스템 호출 수입니다.
초당 fork 시스템 호출 수입니다. 4-6명의 시스템에서 초당 약 0.5입니다. 셸 스크립트가 실행되는 경우 이 수는 늘어납니다.
초당 exec 시스템 호출 수입니다. fork/s로 나눈 exec/s가 3보다 클 경우 비효율적인 PATH 변수를 찾으십시오.
초당 read 시스템 호출로 전송된 문자 수(바이트)입니다.
초당 write 시스템 호출로 전송된 문자 수(바이트)입니다.
다음 예는 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 00:00:00 device %busy avque r+w/s blks/s avwait avserv
다음 목록은 –d 옵션으로 보고되는 디스크 장치 작업을 설명합니다.
모니터링되는 디스크 장치의 이름입니다.
장치가 전송 요청을 서비스하는 시간입니다.
장치가 전송 요청을 서비스하는 시간 동안의 평균 요청 수입니다.
장치로 초당 읽기 및 쓰기 전송 수입니다.
장치로 전송된 초당 512바이트 블록 수입니다.
전송 요청이 대기열에서 대기하는 평균 시간(밀리초)입니다. 이 시간은 대기열이 채워진 경우에만 측정됩니다.
장치에서 전송 요청을 완료하는 평균 시간(밀리초)입니다. 디스크의 경우 이 값에는 탐색 시간, 회전 지연 시간 및 데이터 전송 시간이 포함됩니다.
이 약식 예는 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 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 옵션의 출력을 설명합니다.
초당 페이지 아웃 요청 수입니다.
초당 페이지 아웃된 실제 페이지 수입니다. 단일 페이지 아웃 요청에는 여러 페이지의 페이지 아웃이 포함될 수 있습니다.
여유 목록에 있는 초당 페이지 수입니다.
page 데몬으로 스캔된 초당 페이지 수입니다. 이 값이 높을 경우 page 데몬이 여유 메모리를 확인하는 데 많은 시간을 소비하고 있는 것입니다. 이 상황은 더 많은 메모리가 필요함을 나타냅니다.
연관된 재사용 가능한 페이지가 있는 여유 목록에서 iget으로 가져간 ufs inode의 백분율입니다. 이러한 페이지는 비워지며 프로세스에서 재확보할 수 없습니다. 따라서 이 필드는 페이지 비우기에서 igets의 백분율을 나타냅니다. 높은 값은 inode의 여유 목록이 페이지 제한적이고, ufs inode의 수를 늘려야 함을 나타냅니다.
다음 예는 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 명령을 사용하여 커널 메모리 할당기(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 옵션의 출력을 설명합니다.
KMA가 작은 메모리 요청 풀에서 사용할 수 있는 메모리의 양(바이트)입니다. 이 풀에서 작은 요청은 256바이트 미만입니다.
KMA가 작은 메모리 요청 풀에서 작은 메모리 요청에 할당한 메모리의 양(바이트)입니다.
작은 메모리 양에 대해 실패한 요청 수입니다.
KMA가 큰 메모리 요청 풀에서 사용할 수 있는 메모리의 양(바이트)입니다. 이 풀에서 큰 요청은 512바이트-4킬로바이트입니다.
KMA가 큰 메모리 요청 풀에서 큰 메모리 요청에 할당한 메모리의 양(바이트)입니다.
큰 메모리 양에 대해 실패한 요청 수입니다.
4킬로바이트보다 큰 요청인 매우 큰 요청에 대해 할당된 메모리의 양입니다. 이러한 요청은 페이지 할당기로 충족됩니다. 따라서 풀이 없습니다.
매우 큰 메모리 양에 대해 실패한 요청 수입니다.
다음 예는 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 00:00:00 msg/s sema/s 01:00:00 0.00 0.00
메시지나 세마포어를 사용하는 응용 프로그램을 실행하지 않는다면 이러한 수치는 대개 0.00입니다.
–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 명령을 사용하여 보호 및 변환 결함을 포함하는 페이지 인 작업을 보고합니다.
$ 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 옵션으로 보고된 통계를 설명합니다.
현재 메모리에 있는 페이지를 확보하여 충족된 초당 페이지 폴트 수입니다(초당 첨부). 인스턴스에는 여유 목록에서 잘못된 페이지 확보 및 현재 다른 프로세스에서 사용되고 있는 텍스트 페이지 공유가 포함됩니다. 동일한 프로그램 텍스트에 액세스하고 있는 둘 이상의 프로세스를 예로 들 수 있습니다.
파일 시스템이 페이지 인 요청을 수신하는 초당 횟수입니다.
초당 페이지 인된 페이지 수입니다. 소프트 잠금 요청(slock/s 참조) 또는 큰 블록 크기와 같은 단일 페이지 인 요청에는 여러 페이지의 페이지 인이 포함될 수 있습니다.
보호 오류의 페이지 폴트 수입니다. 보호 결함 인스턴스는 페이지 및 “쓰기 시 복사”에 대한 잘못된 액세스를 나타냅니다. 일반적으로 이 수는 주로 “쓰기 시 복사”로 구성됩니다.
초당 주소 변환 페이지 폴트 수입니다. 이러한 결함은 유효한 프로세스 테이블 항목이 해당 가상 주소에 대해 존재하지 않을 때 발생하는 유효성 결함이라고 합니다.
물리적 I/O가 필요한 소프트웨어 잠금 요청으로 인해 발생하는 초당 결함 수입니다. 예를 들어, 소프트웨어 잠금 요청은 디스크에서 메모리로 데이터를 전송할 때 발생할 수 있습니다. 시스템이 데이터를 수신해야 하는 페이지를 잠그므로 다른 페이지에서 페이지를 확보하고 사용할 수 없습니다.
다음 예는 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 00:00:00 runq-sz %runocc swpq-sz %swpocc
–q 옵션의 출력은 다음과 같습니다.
실행을 위해 CPU를 대기 중인 메모리의 커널 스레드 수입니다. 일반적으로 이 값은 2보다 작아야 합니다. 지속적으로 높은 값은 시스템이 CPU 제한적임을 나타냅니다.
전달 대기열이 채워진 시간의 백분율입니다.
교체되어 나온 프로세스의 평균 개수입니다.
프로세스가 교체되어 나온 시간의 백분율입니다.
다음 예는 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 00:00:00 freemem freeswap 01:00:00 2135 401922
–r 옵션의 출력은 다음과 같습니다.
명령으로 샘플링된 간격 동안 사용자 프로세스에서 사용할 수 있는 평균 메모리 페이지 수입니다. 페이지 크기는 시스템에 따라 다릅니다.
페이지 스와핑에 사용할 수 있는 512바이트 디스크 블록 수입니다.
다음 예는 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
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 옵션의 출력은 다음과 같습니다.
프로세서가 사용자 모드인 시간의 백분율입니다.
프로세서가 시스템 모드인 시간의 백분율입니다.
프로세서가 유휴 상태이고 I/O 완료를 대기 중인 시간의 백분율입니다.
프로세서가 유휴 상태이고 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 명령을 사용하여 프로세스 테이블, 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 구조) 수입니다.
커널에서 할당된 최대 inode 수와 비교한 메모리의 총 inode 수입니다. 이 수는 엄격한 고수위가 아닙니다. 수는 오버플로우될 수 있습니다.
열린 시스템 파일 테이블의 크기입니다. 공간이 파일 테이블에 대해 동적으로 할당되므로 sz는 0으로 지정됩니다.
각 테이블에 대한 샘플링 시점 사이에 발생하는 오버플로우입니다.
커널에서 현재 사용되고 있거나 할당된 공유 메모리 레코드 테이블 항목 수입니다. 공간이 공유 메모리 레코드 테이블에 대해 동적으로 할당되므로 sz는 0으로 지정됩니다.
다음 약식 예는 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 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 명령 출력과 관련된 목표 값 및 관찰을 설명합니다.
초당 메모리로 LWP 전송 수입니다.
초당 스왑 인을 위해 전송된 블록 수입니다. /* (float)PGTOBLK(xx->cvmi.pgswapin) / sec_diff */.
초당 메모리에서 스왑 아웃된 평균 프로세스 수입니다. 이 수가 1보다 클 경우 메모리를 늘려야 합니다.
초당 스왑 아웃을 위해 전송된 블록 수입니다.
초당 커널 스레드 전환 수입니다.
다음 예는 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 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가 있을 경우 이 보고서를 사용하여 잘못된 행이 존재하는지 확인할 수 있습니다. 기록된 작업은 다음 목록에서 정의됩니다.
초당 입력 문자(원시 대기열)입니다
초당 캐논으로 처리된 입력 문자(캐노니컬 대기열)입니다
초당 출력 문자(출력 대기열)입니다
초당 수신기 하드웨어 인터럽트입니다
초당 전송기 하드웨어 인터럽트입니다
초당 모뎀 인터럽트입니다
초당 모뎀 인터럽트 수(mdmin/s)는 0에 가까워야 합니다. 초당 수신 및 전송 인터럽트( xmtin/s 및 rcvin/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 명령을 사용하여 모든 옵션의 통계를 표시하여 전체 시스템 성능 보기를 제공합니다.
이 명령은 좀더 포괄적인 관점을 제공합니다. 단일 시점 세그먼트의 데이터보다 많은 데이터가 표시될 경우 보고서에는 평균이 포함됩니다.