gsar
사용법
gsar [options] file
Options are as follows:
-? print this help
-, put a comma in graph number
-0 zero based graph
-a draw graphs for all the disks
-B bar graph
-b draw border line
-c config configuration file for maximum values and titles
-C bg:c1:c2:c3 colors of the graph, colors must be 6 hex digits:
bg: background color; def: ffffff
c1: foreground color1; def: 0000ff
c2: foreground color2; def: ff0000
c3: foreground color3; def: 00ff00
-D directory output directory; def: .
-e dot X-axis extension
-h height height per graph
-i interval interval (second)
-l n draw vertical lines on graph every n'th data
-L toplabel specify top label
-M is obsolete
-m print maximum values for each field
-N write time info(HH:MM:SS) at the bottom of the graph
-n count count of data to be processed
-o prefix output file prefix; def: 'sar'
-P print only maximum value and minimum value for each field
-s start starting data to be processed. n or HHMMSS or HH:MM:SS
-S skiplist list starting word to skip (separated by comma)
-t HHMMSS starting time of gathering data
-V show version
-v print data in text without graph
-W generate HTML page
-w width width of the graph
file output of "sar -A -f sar-data" command
설명
gsar는 "# /usr/lib/sa/sadc 180 480 output" 명령어 또는
"sar -o output 180 480"의 출력을 저장한 output 파일을
"# sar -A -f output > file" 명령어를 사용하여 만든 file을
읽어 들여, 주요 필드에 대하여 GIF 파일포멧의 그래프와 HTML 페이지를 만든다.
# sar -A -f output > file
# gsar -W -a file
|
-W 옵션은 각각의 그래프에 대하여 HTML 파일을 만들어 주는데, 상위 HTML 파일은
sar_index.html 파일이다.
sar의 출력파일(file)은 다음과 같은 형태이다.
SunOS dragon 5.6 Generic_105181-11 sun4u 07/07/99
00:00:00 %usr %sys %wio %idle
00:03:00 14 6 0 80
00:06:00 16 7 0 77
00:09:00 16 7 0 77
... skip ...
00:00:00 device %busy avque r+w/s blks/s avwait avserv
00:03:00 sd0 0 0.0 0 0 0.0 0.0
sd1 0 0.0 0 0 0.0 9.7
sd2 2 0.2 2 29 0.0 103.7
sd3 0 0.0 0 0 0.0 17.2
00:06:00 sd0 0 0.0 0 0 0.0 0.0
sd1 0 0.0 0 0 0.0 16.4
sd2 2 0.2 2 31 0.0 96.9
sd3 0 0.0 0 0 0.0 13.5
00:09:00 sd0 0 0.0 0 0 0.0 0.0
sd1 0 0.0 0 1 0.0 10.1
sd2 3 0.2 3 49 0.0 67.1
sd3 0 0.0 0 0 0.0 0.0
... skip ...
00:00:00 runq-sz %runocc swpq-sz %swpocc
00:03:00 1.2 11
00:06:00 2.4 11
00:09:00 1.1 10
... skip ...
00:00:00 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
00:03:00 0 96 100 14 40 66 0 0
00:06:00 0 84 100 14 44 68 0 0
00:09:00 0 105 100 14 43 67 0 0
... skip ...
00:00:00 swpin/s bswin/s swpot/s bswot/s pswch/s
00:03:00 0.00 0.0 0.00 0.0 5418
00:06:00 0.00 0.0 0.00 0.0 5092
00:09:00 0.00 0.0 0.00 0.0 5174
... skip ...
00:00:00 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s
00:03:00 9603 476 374 4.89 4.93 608001 690975
00:06:00 9772 687 355 5.02 4.90 790254 717396
00:09:00 9894 533 405 5.04 5.33 1133477 770481
... skip ...
00:00:00 iget/s namei/s dirbk/s
00:03:00 84 632 257
00:06:00 85 657 370
00:09:00 92 711 327
... skip ...
00:00:00 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s
00:03:00 1 0 690 0 0 0
00:06:00 3 0 691 0 0 0
00:09:00 1 0 742 0 0 0
... skip ...
00:00:00 proc-sz ov inod-sz ov file-sz ov lock-sz
00:03:00 337/4106 0 10802/10802 0 3249/3249 0 0/0
00:06:00 340/4106 0 10802/10802 0 3289/3289 0 0/0
00:09:00 339/4106 0 10802/10802 0 3236/3236 0 0/0
... skip ...
00:00:00 msg/s sema/s
00:03:00 0.00 54.97
00:06:00 0.00 80.29
00:09:00 0.00 69.07
... skip ...
00:00:00 atch/s pgin/s ppgin/s pflt/s vflt/s slock/s
00:03:00 0.03 19.84 28.43 444.43 467.56 0.00
00:06:00 0.01 22.25 32.26 483.62 512.78 0.00
00:09:00 0.01 20.07 28.36 464.61 483.71 0.00
... skip ...
00:00:00 pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf
00:03:00 0.00 0.00 0.00 0.00 60.24
00:06:00 0.00 0.00 0.00 0.00 74.97
00:09:00 0.00 0.00 0.00 0.00 70.82
... skip ...
00:00:00 freemem freeswap
00:03:00 20421 10448179
00:06:00 20193 10442873
00:09:00 19585 10436763
... skip ...
00:00:00 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail
00:03:00 33095680 26229688 0 77578240 69259656 0 13025280 0
00:06:00 33095680 26342468 0 77586432 69958296 0 13025280 0
00:09:00 33095680 26275412 0 77602816 70462712 0 13025280 0
... skip ...
|
각각의 필드에 대한 의미는 sar 메뉴얼 페이지를 참고한다.(# man sar)
sar의 출력물에서 다음과 같은 필드가 선택되어 그래프를 만드는데 사용된다.
CPU & Process
cpu(%usr+%sys), runq-sz, swpq-sz, proc-sz |
Memory & Paging Activity
freemem, freeswap, pgio/s(pgin/s+pgout/s), ppgio/s(ppgin/s+ppgout/s), pgfree/s, pgscan/s |
I/O [all I/Os]
%busy, avque, r+w/s, blks/s, avwait, avserv |
System Call
scall/s, srw/s(sread/s+swrit/s),
fork/s, exec/s, rwchar/s(rchar/s+wchar/s) |
Buffer Activity
read/s(bread/s+lread/s), %rcache, writ/s(bwrit/s+lwrit/s), %wcache, prw/s(pread/s+pwrit/s) |
IPC
msg/s, sema/s |
Kernel Memory Allocation
sml_mem, alloc, fail, lg_mem, alloc, fail ovsz_alloc, fail | Swapping & Switching Activity
swpin/s, bswin/s, swpot/s, bswot/s pswch/s |
File Access
iget/s, namei/s, dirbk/s | TTY Device Activity
rawch/s, canch/s, outch/s, rcvin/s, xmtin/s, mdmin/s |
Process & Inode & File table
proc-sz, ov, inod-sz, ov, file-sz, ov, lock-sz |   |
"# sar -A -f output"의 출력물, sar.log를 가지고 각 옵션에 대하여 설명한다.
명령어 | 설명 |
# gsar sar.log |
옵션 없이 그래프를 만든다. -o 옵션을 지정하지 않으면, 디폴트로
prefix가 sar_가 붙는 gif 파일들을 만들어 준다.
sar_ba.gif sar_io.gif sar_mem.gif
sar_swap.gif sar_cpu.gif sar_ipc.gif
sar_pif.gif sar_tty.gif sar_fa.gif
sar_kma.gif sar_scall.gif
-W 옵션을 사용하지 않으면, HTML 파일을 만들지 않는다.
|
# gsar -B sar.log |
-B 옵션은 막대 그래프를 만든다.
|
# gsar -t 090000 -i 30 sar.log |
-t 090000 -i 30 옵션은 데이타를 수집한 시간을 명시적으로 지정한다.
이 옵션이 없으면, 시작 시간과 간격을 파일에서 찾아낸다.
데이타를 수집한 시작 시간은 09시 00분 00초이고, 시간 간격은 30초이다.
|
# gsar -w 200 sar.log |
-w 200 옵션은 그래프의 폭을 200 dot로 지정한다. 이 옵션이 지정되어
있지 않으면, 데이타의 개수 만큼의 폭을 차지하며, 그 폭이 480 dot 보다
적으면, 480 dot로 사용된다. -w 0 옵션을 지정하면, 실제 데이타 양 만큼의 폭으로 그래프를 만든다.
|
# gsar -s 100 -n 200 sar.log |
-s 100 옵션은 100 번째 데이타부터 읽어 들인다.
-n 200 옵션은 200개의 데이타에 대해서만 그래프를 만든다.
-i 옵션과 함께 -s 옵션에서 다음과 같이 시간을 지정하면 그 시간부터
그래프를 그린다.
HHMMSS or HH:MM:SS
Exam) # gsar -i 30 -t 090000 -s 10:00:00 sar.log
|
# gsar -e 10 -n 40 sar.log |
-e 10 옵션은 1 개의 데이타가 X축으로 10 dot의 간격을 가지게 한다.
-n 40 옵션은 40 개의 데이타로 그래프를 만든다.
|
# gsar -h 100 sar.log |
-h 100 옵션은 각 단위 그래프의 높이가 100 dot의 크기를 가지게 한다.
|
# gsar -C 00ffff::: sar.log
# gsar -C :ff00ff:00cc00:ff00ff sar.log
|
-C 00ffff::: 옵션은 그래프의 배경 색으로 RGB #00ffff를 지정한다.
배경 색에는 transparent를 지정할 수 있다. 이 경우 그래프의 배경 색은
투명하게 된다.
-C :ff00ff:00cc00:ff00ff 옵션은 그래프의 선의 색을 RGB #ff00ff와 #00cc00과 #ff00ff로 지정한다.
|
# gsar -W sar.log |
-W 옵션은 HTML 페이지를 만든다. -o옵션을 사용하여
prefix를 지정하지 않으면, 디폴트로 "sar_" 라는 prefix가 붙는다.
이 HTML 파일에는 각 필드에 대한 최대 값이 하단에 정리되어 있다.
sar_index.html이 gsar의 top page이다.
|
# gsar -a -W sar.log |
-a 옵션은 각 디스크에 대한 그래프도 함께 만들어 준다.
각 디스크에서 최대 값만을 모아서 만든 가상의 max 그래프도 포함되어 있다.
|
-,
옵션을 지정하면 그래프의 Y축 숫자에 3자리 마다 콤마를 추가한다.
|
-0 옵션은
그래프의 시작값(Y축)을 0부터 시작한다. 디폴트로 그래프의 시작값은 데이타의 최소값과 최대값에 따라 결정된다.
|
-b
옵션은 츨력되는 이미지에 외곽선을 그린다.
|
-c sar.conf 옵션은 구성파일를 지정한다.
# gsar -c sar.conf file
구성파일의 형식은 다음과 같으며, 한 라인에 하나의 필드를 정의한다.
fn[:[[max][-min]][:title]]
구성파일에는 각 그래프의 최대값과 최소값과 그래프 제목을 지정할 수 있다.
공백 라인과 '#' 문자로 시작하는 라인은 스킵된다.
fn |
필드명을 지정한다.
필드명은 다음과 같다.
cpu runq-sz swpq-sz freemem freeswap pgio/s ppgio/s pgfree/s pgscan/s scall/s
srw/s fork/s exec/s rwchar/s read/s %rcache writ/s %wcache prw/s msg/s
sema/s sml_mem sml_alloc sml_fail lg_mem lg_alloc lg_fail ovsz_alloc
ovsz_fail swpin/s bswin/s swpot/s bswot/s pswch/s iget/s namei/s dirbk/s
rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s proc-sz porc-ov inod-sz
inod-ov file-sz file-ov lock-sz %busy avque r+w/s blks/s avwait avserv
|
[max][-min] |
그래프의 최대값과 최소값을 지정한다.
|
title |
그래프의 제목을 지정한다. 제목에 "."을 지정하면 그래프의 제목을 표시하지 않는다.
|
-G and -c option 에 대한 자세한 설명
다음은 구성파일에 대한 예제이다.
pgio/s::PIO - Page In/Out
pgio/s:1000
pgio/s:1000-500
pgio/s:-0
pgio/s:1000-500: Page In/Out
|
-o prefix
옵션은 출력될 그래프의 파일명 및 HTML 파일명 앞에 붙을 prefix을 지정한다.
|
-D directory
옵션은 출력될 그래프를 만들 디렉토리명을 지정한다. 디폴트는 "."이다.
|
-l n
옵션은 출력될 그래프에 n 간격의 데이타에 회색 점선을 그린다.
n이 0이고 -i 옵션과 함께 사용하면 10 분 간격으로 회색 점선을 그린다.
|
-L toplabel
옵션을 사용하여, 그림의 상단에 배경색을 회색으로 하는 글자를 표시할 수 있다.
|
-m
옵션은 각 필드에 대한 최대 값을 출력한다.
cpu에 대한 최대 값은 %usr + %sys이다(%wio는 포함되지 않는다).
|
-M
V7.0 이전 버전에서 옵션은 -D 옵션에 지정된 디렉토리가 없을 경우에 만들어 준다.
그러나 V7.0 부터는 이 옵션이 없어도 디폴트로 -D 옵션에 지정된 디렉토리를 만들어 준다.
|
-i 옵션과 함께 -N 옵션을 사용하면,
60 dot 간격으로 그래프의 하단에 시간(HH:MM:SS)을 표시한다.
|
-P
옵션은 각각의 그래프의 우측에 표시될 최대값과 최소값을 다음과 같은 형식으로
표준출력으로 출력한다.
fn:max-min
이때 그래프는 만들지 않는다. 표준출력으로 출력되는 값을 리다이렉트(redirect)하여
파일로 저장하면, -c 옵션에 구성파일로 사용할 수 있다.
sar 명령어로 여러 개의 파일을 만들었을 경우에 각각에 대하여
그래프를 그리면, 그래프의 최대값과 최소값은 수집된 데이타에 의해 자동으로
의해 결정된다.
만일 3개의 파일이 있다고 가정하면, 각각의 파일들이 최대값과 최소값이 다를 수
있다. 이 경우 3개의 데이타를 그래프 상에서 비교할 때, 최대값과 최소값이 다르기
때문에 비교하기가 어려울 수 있다.
이러한 경우, -P 옵션을 사용하여 각각 수집된 데이타 파일에 대하여 최대값 및 최소값을
구해서 공통된 최대값과 최소값을 구성파일로 만들어 -c 옵션에 구성파일로
지정하여 다시 3개의 파일에 대하여 그래프를 그리면 공통된 최대값과 최소값을
가지는 3개의 그래프 파일을 만들 수 있다.
다음은 -P 옵션을 사용한 결과 화면이다.
# gsar -P sar.log
cpu:100-0
runq-sz:30-0
swpq-sz:10-0
freemem:40000-0
freeswap:10600000-9800000
pgio/s:100-0
ppgio/s:200-0
pgfree/s:150-0
pgscan/s:100-0
scall/s:70000-0
srw/s:70000-0
fork/s:90-0
exec/s:90-0
rwchar/s:4000000-0
read/s:2000-0
%rcache:100-0
writ/s:1250-0
%wcache:100-0
prw/s:100-0
msg/s:50-0
sema/s:400-0
sml_mem:34000000-33000000
sml_alloc:28000000-23000000
sml_fail:10-0
lg_mem:90000000-70000000
lg_alloc:80000000-60000000
lg_fail:10-0
ovsz_alloc:13500000-13000000
ovsz_fail:10-0
swpin/s:50-0
bswin/s:100-0
swpot/s:50-0
bswot/s:100-0
pswch/s:8000-0
iget/s:900-0
namei/s:3000-0
dirbk/s:1250-0
rawch/s:100-0
canch/s:100-0
outch/s:6000-0
rcvin/s:100-0
xmtin/s:100-0
mdmin/s:100-0
proc-sz:500-300
porc-ov:100-0
inod-sz:15000-10000
inod-ov:100-0
file-sz:4000-0
file-ov:100-0
lock-sz:100-0
%busy:100-0
avque:10-0
r+w/s:50-0
blks/s:200-0
avwait:10-0
avserv:150-0
|
-P 옵션의 결과값을 저장한 파일은 adjmaxmin 명령어에 의해
가공되어 구성파일로 사용될 수 있다.
|
-S skiplist
-S 옵션을 사용하여 데이타로 사용되지 않는 입력라인을 제거할 수 있다.
file속에 있는 내용 중에 데이타가 아닌 라인이 있을 경우, -S 옵션을
사용하여, 그 라인에서 시작하는 문자열을 지정하여 스킵할 수 있다.
스킵하고 싶은 문자열이 여러 개가 있을 경우에 콤마(,)로 구분한다.
지정한 문자열과 입력 데이타 라인과 비교하여, 일치하면 그 라인을 스킵한다.
입력 라인에서 시작 부분의 whitespace (공백 또는 탭)는 비교되지 않는다.
|
-V
-V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
|
-v
옵션은 그래프를 만들지 않고 데이타 파일에 있는 값을 출력한다.
cpu 컬럼에 나오는 값은 %usr + %sys 값이다. %wio는 포함되지 않는다.
|
|