gpsinfo

   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좀비 프로세스 개수
runrun queue에 대기하고 있는 프로세스 개수
lwpthread 개수
load지난 1분 동안의 부하 평균(load average)
allcpu프로세스의 CPU 사용률 합계
ptimepsinfo 명령어는 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 명령어로 그래프를 그리는데 사용한다.

다음의 명령어를 실행하면

# gpsinfo psinfo-A.log

다음과 같이 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 dot1개의 데이타가 차지하는 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 파일에 알 수 없는 필드명이 있을 때, 프로세스를 종료하지 않고 그 필드명을 스킵한다.