gpsinfo
사용법
gpsinfo [options] file
Options are as follows:
-? print this help
-, put a comma in graph number
-0 zero based graph
-B bar graph
-b draw border line
-C bg:c1 colors of the graph, colors must be 6 hex digits:
bg: background color; def: ffffff
c1: foreground color1; def: 0000ff
-c config configuration file for maximum values and titles
-D directory output directory; def: .
-e dot X-axis extension
-G fn[:[[max][-min]][:title]][,fn[:[[max][-min]][:title]]]... draw graphs for
the specified fields
fn: proc,start,end,zomb,run,lwp,load,allcpu,ptime,maxwcpu,allhs,maxhs,maxsz,maxrss,d-allcpu,d-maxwcpu
-h height height per graph
-i interval interval (second)
-l n draw vertical line on graph at n interval
-L toplabel specify top label
-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 outfile output file, def: psinfo[.gif]
-P print only maximum value and minimum value for each field
-p do not display first date line
-r preserve temporary file(t2_psinfo.tmp) of psinfo.log
-s start starting data to be processed
-S make HTML page with detailed values
-T title specify title
-t HHMMSS starting time of gathering data
-V show version
-w width width of the graph
-W generate HTML page
-y skip unknown field name in config file
file output of psinfo -A command
설명
gpsinfo는 psinfo -A 또는 psinfo -a 또는 psinfo -j 명령어의 출력을 저장한 file을 읽어 들여,
각 필드에 대하여 그래프를 만든다.
# psinfo -A 60 480 > psinfo-A.log
# gpsinfo -t 090000 -i 60 psinfo-A.log
psinfo.gif
gpsinfo 명령어에 -o 옵션으로 출력파일명을 지정하지 않으면 psinfo.gif
파일을 만든다.
|
"psinfo -A" 명령어에는 다음과 같은 헤더 정보가 있는데,
Date.time 1127.09:00:00 proc 519 zomb 0 run 0 lwp 659 cpu 5.06% load1m 0.11 ptime 176667.07 hp+stk 565.8M
... skip ...
|
gpsinfo 명령어는 psinfo 명령어가 수집한 데이타의
헤더 정보와 시간 간격 별로 수집한 프로세스 중에서
start, end, maxwcpu, maxhs, d-allcpu, d-maxwcpu 를 찾아서 그래프를 그린다.
생성된 GIF 포멧의 파일에는 다음과 같은 항목에 있다.
필드 | 설명 |
proc | 전체 프로세스 개수 |
start | 이 시간에 새로 시작된 프로세스 개수 |
end | 이 시간을 마지막으로 끝난 프로세스 개수 |
zomb | 좀비 프로세스 개수 |
run | run queue에 대기하고 있는 프로세스 개수 |
lwp | thread 개수 |
load | 지난 1분 동안의 부하 평균(load average) |
allcpu | 프로세스의 CPU 사용률 합계 |
ptime | psinfo 명령어는 TIME과 CHILDTIME의 합계를 ptime 컬럼에
저장한다. 이 값을 데이타를 수집한 시간 간격으로 차이 값을 구하고, 그 차이 값에
시간 간격과 CPU 개수를 곱한 값을 나누고 100을 곱하면, 프로세스의
구간별 CPU 사용률이 된다.
예제) CPU가 2개인 시스템에서 10 초 간격으로 데이타 수집
ptime 12834.23
ptime 12839.82
12839.82 - 12834.23 = 5.59 차이 값
5.59 / (10 * 2) * 100 = 27.95%
psparse 명령어의 "-F" 옵션을 참조하십시오.
|
maxwcpu | 프로세스 중에 WCPU%가 제일 큰 값 |
allhs | 전체 프로세스의 HP+STK의 합계 |
maxhs | 프로세스 중에 HP+STK의 크기가 제일 큰 값 |
maxsz | 프로세스 중에 SIZE의 크기가 제일 큰 값 |
maxrss | 프로세스 중에 RSS의 크기가 제일 큰 값 |
d-allcpu | 자식 프로세스의 CPU 사용률을 포함한 프로세스들의 CPU% 사용률의 합계.
자식 프로세스의 CPU 사용률에 대한 의미는 psparse 명령어의 -D 옵션 참고하십시오.
psparse -D 명령어의 출력의 헤더 부분에 있는 정보 중에서 D-ALL 옆에 있는 괄호 안의 값이다.
D-ALL 424.67 [ 88.47% ] (D-TIME 423.38 D-CHILD 1.29)
|
d-maxwcpu | 자식 프로세스의 CPU 사용률을 포함하여 프로세스 중에 WCPU%가 제일 큰 값.
자식 프로세스의 CPU 사용률에 대한 의미는 psparse 명령어의 -D 옵션 참고하십시오.
psparse -D 명령어의 출력에서 첫번째 프로세스의 D-WCPU% 값이다.
|
psinfo 명령어로 데이타를 수집할 때 -A 옵션을 사용하였을 경우에 위의 모든 데이타가
표시되고, -j 옵션으로 데이타를 수집하였을 경우에, 다음의 필드에 대해서는 그래프는 있지만 데이타는 표시되지
않는다.
start, end, maxhs, maxsz, maxrss, d-allcpu, d-maxwcpu
gpsinfo는 쉘 스크립트이며 psinfo 명령어의 출력물을 가공하기 위해서
psparse 명령어와 mkgraph 명령어를 사용한다.
psparse -F 명령어는 psinfo 명령어의 헤더 정보에 있는 값과 시간 간격별로 수집된 프로세스 중에서
start, end, maxwcpu, maxhs, d-allcpu, d-maxwcpu 값을 찾아서 임시파일에 저장한다.
이 임시파일을 mkgraph 명령어로 그래프를 그리는데 사용한다.
다음의 명령어를 실행하면
다음과 같이 2개의 명령어로 실행된다.
# psparse -F psinfo-A.log > ./t2_psinfo.tmp
# mkgraph -F /opt/JSparm/config/process.cfg ./t2_psinfo.tmp
|
이렇게 그래프를 그려보면 수집한 데이타에 대하여 주요 사항을 한눈에 살펴볼 수 있다.
다음과 같이 -S 옵션을 사용하여 gpsinfo 명령어를 실행하면 각 구간별로 실제 데이타를
조사해 볼 수 있는 "psinfo_detail.html" 파일도 생성된다.
# gpsinfo -S -t 090000 -i 60 psinfo-A.log
psinfo_detail.html
gpsinfo 명령어에 -o 옵션으로 출력파일명을 지정하지 않으면 psinfo_detail.html
파일을 만든다.
|
다음은 각 옵션에 대하여 설명한다.
옵션 | 설명 |
-, |
-, 옵션을 지정하면 그래프의 Y축 숫자에 3자리 마다 콤마를 추가한다.
|
-0 |
그래프의 시작값(Y축)을 0부터 시작한다. 디폴트로 그래프의 시작값은 데이타의 최소값과
최대값에 따라 결정된다.
|
-B | 막대 그래프를 만든다. |
-b | 옵션은 츨력되는 이미지에 외곽선을 그린다. |
-C bg:c1 | 그래프의 배경색과 선색을 지정한다. |
-c config |
구성파일의 형식은 다음과 같으며, 한 라인에 하나의 필드를 정의한다.
fn[:[[max][-min]][:title]]
구성파일에는 각 그래프의 최대값과 최소값과 그래프 제목을 지정할 수 있다.
공백 라인과 '#' 문자로 시작하는 라인은 스킵된다.
fn |
필드명을 지정한다.
필드명은 다음과 같다.
proc zomb run lwp allcpu ptime load allhs maxhs maxwcpu
|
[max][-min] |
그래프의 최대값과 최소값을 지정한다.
|
title |
그래프의 제목을 지정한다.
|
-G and -c option 에 대한 자세한 설명
|
-D outdir |
이 옵션은 출력될 그래프를 만들 디렉토리명을 지정한다. 디폴트는 "."이다.
지정한 디렉토리가 없으면 새로 만들어 준다. 단 최하단의 디렉토리만 만든다.
|
-e dot | 1개의 데이타가 차지하는 X축의 크기(dot) 지정한다. |
-G fn[:[[max][-min]][:title]]... |
-G 옵션은 그래프를 그릴 필드를 선택한다.
fn |
필드명을 지정한다.
필드명은 다음과 같다.
proc zomb run lwp allcpu ptime load allhs maxhs maxwcpu
|
[max][-min] |
그래프의 최대값과 최소값을 지정한다.
|
title |
그래프의 제목을 지정한다.
|
-G and -c option 에 대한 자세한 설명
|
-h height | 그래프의 높이를 지정한다. |
-i interval | 데이타를 수집한 시간 간격을 지정한다. |
-l n |
출력될 그래프에 n 간격의 데이타에 회색 점선을 그린다.
n이 0이고 -i 옵션과 함께 사용하면 10 분 간격으로 회색 점선을 그린다.
|
-L toplabel
|
옵션을 사용하여, 그림의 상단에 배경색을 회색으로 하는 글자를 표시할 수 있다.
|
-m |
-m 옵션은 선택된 각 필드에 대한 최대 값을 출력한다.
|
-N |
-i 옵션과 함께 -N 옵션을 사용하면,
60 dot 간격으로 그래프의 하단에 시간(HH:MM:SS)을 표시한다.
|
-n count | 그래프의 그릴 데이타의 개수를 지정한다. |
-o outfile | 출력될 그래프의 파일명을 지정한다.
디폴트는 "psinfo"이다.
실제 출력될 파일명에는 ".gif" 가 추가된다. 따라서 디폴트로 생성될 파일명은 "psinfo.gif" 가 된다.
|
-P |
-P 옵션은 각각의 그래프의 우측에 표시될 최대값과 최소값을 표준출력으로 출력한다.
이때 그래프는 만들지 않는다. 표준출력으로 출력되는 값을 리다이렉트(redirect)하여
파일로 저장하면, -c 옵션에 구성파일로 사용할 수 있다.
psinfo 명령어로 여러 개의 파일을 만들었을 경우에 각각에 대하여
그래프를 그리면, 그래프의 최대값과 최소값은 수집된 데이타에 의해 자동으로
의해 결정된다.
만일 3개의 파일이 있다고 가정하면, 각각의 파일들이 최대값과 최소값이 다를 수
있다. 이 경우 3개의 데이타를 그래프 상에서 비교할 때, 최대값과 최소값이 다르기
때문에 비교하기가 어려울 수 있다.
이러한 경우, -P 옵션을 사용하여 각각 수집된 데이타 파일에 대하여 최대값 및 최소값을
구해서 공통된 최대값과 최소값을 구성파일로 만들어 -c 옵션에 구성파일 명을
지정하여 다시 3개의 파일에 대하여 그래프를 그리면 공통된 최대값과 최소값을
가지는 3개의 그래프 파일을 만들 수 있다.
다음은 -P 옵션을 사용한 결과 화면이다.
# gpsinfo -P psinfo.log
proc:500-0
start:150-0
end:150-0
zomb:10-0
run:100-0
lwp:3000-0
load:80-0
allcpu:99-0
ptime:150-0
maxwcpu:80-0
allhs:2000-0
maxhs:70-0
maxsz:15900-15500
maxrss:15800-15400
d-allcpu:150-0
d-maxwcpu:81-0
|
|
-p |
-p 옵션을 지정하면 첫번째 데이타 라인을 그래프 상에 표시하지 않고 비워둔다.
두번째 데이타부터 그래프를 그린다.
mkrep.sh 명령어로 psinfo.log 파일을 그래프로 만들때 첫번째
라인을 skip한다. 그 이유는 다른 명령어들에 만들어진 그래프와 시점을 맞추기 위해서 이다.
만일 10초 간격으로 5번 데이타를 vmstat 명령어의 결과를 받아서 그래프를 그리면,
gvmstat 명령어는 첫번째 데이타를 skip한 후 두번째 데이타부터 4개의 데이타에 대하여
그래프를 그린다.
이것과 동기를 맞추기 위하여 gpsinfo 명령어에 -p 옵션을 지정하면 첫번째 데이타를
skip하고 두번째 데이타부터 그래프를 그린다.
|
-r |
-r 옵션을 지정하면 gpsinfo 명령어는 psparse -F 명령어가 만든 임시파일(t2_psinfo.tmp)을 제거하지 않는다.
|
-t HHMMSS | 데이타를 수집한 시간을 지정한다. |
-T title | 그래프의 상단에 제목을 지정한다. 디폴트는 psinfo 이다 |
-s start | 시작할 데이타를 지정한다. 디폴트는 1 이다. |
-S |
-S 옵션을 사용하면 수집한 데이타를 조사해 볼 수 있는 psinfo_detail.html 파일을 만들어 준다
|
-V |
-V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
|
-v |
그래프를 만들지 않고 데이타 파일에 있는 값을 출력한다.
|
-w width | 그래프의 폭을 지정한다. |
-W | -W 옵션은 HTML 페이지를 만든다. 디폴트 파일명은 "psinfo.html" 이다.
|
-y |
옵션은 -c config 옵션과 함께 사용될 수 있다. 이 옵션을 지정하면 config 파일에
알 수 없는 필드명이 있을 때, 프로세스를 종료하지 않고 그 필드명을 스킵한다.
|
|