mmonx_proc

   mmonx_proc

  사용법


	mmonx_proc -V
	mmonx_proc -M condition [-f][-s][-Z][-z zone] outdir interval count
	mmonx_proc -j [-t n] [-M condition][-f][-s][-Z][-z zone] outdir interval count
	mmonx_proc -A [-M condition][-f][-s][-Z] outdir interval count
	mmonx_proc -D nday outdir

	Options are as follows:

	-?           print this help
	-A           display all the processes with full data
	-D nday      print the directory path nday ago
	-f           run as a foreground process
	-j           sort by CPU% and additional top five HP+STK processes
	-M condition print processes that meet the condition
	-s           sync file after writing
	-t n         the number of processes: 1 <= n <= 100; def: 10
	-z zone      filter by zone name
	-Z           print zone name in the output lines
	outdir       output directory
	interval     interval time(second)
	count        times to get the info
  설명

mmonx_proc은 background 프로세스로 실행되며, 지정한 시간 간격으로 지정한 횟수 만큼 프로세스 정보를 수집하여 특정 디렉토리에 저장한다.
이 명령어는 주로 cron에 의해 실행된다.

다음과 같이 실행하면

# mmonx_proc -j -M wcpu=80,hs=100 /PSLOG 60 60

이 명령어는 60초 간격으로 60번 프로세스 정보를 조사한다.
-M 옵션에 의해 WCPU% 사용률이 80 이상이거나 HP+STK의 크기가 100MB 이상인 프로세스가 있으면 그 프로세스에 대한 정보를,
-j 옵션에 의해 CPU% 사용률이 높은 순서로 10개의 프로세스 정보와 HP+STK의 크기가 큰 순서로 5개의 프로세스 정보를
/PSLOG 디렉토리 밑에 현재의 시간정보로 부터 다음과 같은 형식을 디렉토리를 만든 후에

	yyyy.mm/dd
각각 M.limit 파일과 j.HH.MM.SS 파일을 만들고 그 내용을 저장한다. -M 옵션에 의해 저장되는 데이타는 해당일(the day)에 대한 데이타가 M.limit 파일에 누적되고, -j 옵션에 의해 저장되는 데이타는 mmonx_proc 명령어가 실행될 때마다 j.HH.MM.SS 파일형식의 파일이 생성된다.

지금이 2008년 5월 3일 09:00:00 이라고 가정하고 위의 명령어를 실행하면 다음과 같은 파일이 생성된다.

	/PSLOG/2008.05/03/M.limit
	/PSLOG/2008.05/03/j.09:00:00
즉, 이 명령어를 cron에 의해 한 시간 간격으로 실행시키면, 하루에 25개의 파일이 생성된다. 한 시간에 하나씩 j.HH.MM.SS 파일 24개와 M.limit 파일 한개가 생성된다.
시스템 관리자는 최소한 하루에 한번씩 M.limit 파일을 보고 이 파일의 크기가 0 보다 크면 그 내용을 확인하여 이상 동작을 하는 프로세스가 있는지 확인하여야 한다.

/PSLOG 디렉토리는 미리 만들어져 있어야 한다. 이 명령어는 root 사용자만 실행할 수 있다.
JSmonx_proc 명령어를 실행할 때 마다 파일을 만들기 때문에 시간이 오래되어 불필요한 파일은 사용자가 주기적으로 지워 주어야 한다.

옵션설명
-j [-t n] -j 옵션을 지정하여 실행하면 CPU% 사용률이 높은 순서로 10개의 프로세스 정보와 HP+STK의 크기가 큰 순서로 5개의 프로세스 정보를 j.HH.MM.SS 형식의 파일에 저장한다.
이 명령어에서 나오는 데이타는 psinfo -j 명령어에서 나오는 데이타와 같다.
mmonx_proc 명령어는 내부적으로 psinfo 명령어에서 사용하는 동일한 모듈을 사용한다.

다음과 같이 cron 테이블에 등록하면

  0 9-17 * * * /opt/JSparm/bin/mmonx_proc -j /PSLOG 60 60

위의 /opt/JSparm/bin/mmonx_proc -j /PSLOG 60 60 은 매일 09,10,11,12,13,14,15,16,17 시 0 분에 cron 의해 9차례 실행된다.
이 명령어는 CPU를 많이 사용하는 순서로 10개의 프로세스 정보와 HP+STK의 크기가 큰 순서로 5개의 프로세스 정보를 수집한다.
실행된 명령어는 60초 간격으로 60번(한 시간) 프로세스 정보를 수집한다.

이렇게 cron에서 실행되면, 다음과 같이 하루에 9개의 파일이 /PSLOG/yyyy.mm/dd 디렉토리에 생기다.

	j.09:00:00
	j.10:00:00
	j.11:00:00
	j.12:00:00
	j.13:00:00
	j.14:00:00
	j.15:00:00
	j.16:00:00
	j.17:00:00

디폴트로 CPU를 많이 사용하는 10개의 프로세스 정보를 수집하는데, -t 옵션을 사용하면 그 개수를 지정할 수 있다. 최대 50개까지 가능하다.

-A -A 옵션을 지정하여 실행하면 시스템에 있는 모든 프로세스 정보를 A.HH.MM.SS 형식의 파일에 저장한다.
이 명령어에서 나오는 데이타는 psinfo -A 명령어에서 나오는 데이타와 같다.
mmonx_proc 명령어는 내부적으로 psinfo 명령어에서 사용하는 동일한 모듈을 사용한다.
이렇게 수집된 데이타는 psparse 명령어로 가공하여 다양한 형태로 데이타를 볼 수 있다.

다음과 같이 cron 테이블에 등록하면

  0 9 * * * /opt/JSparm/bin/mmonx_proc -A /PSLOG 60 540

위의 /opt/JSparm/bin/mmonx_proc -A /PSLOG 60 540 은 매일 09 시 0 분에 cron 의해 실행된다.
이 명령어는 시스템에 있는 모든 프로세스 정보를 수집한다. 실행된 명령어는 60초 간격으로 540번(9시간 데이타(60*9)) 프로세스 정보를 수집하여, 다음과 같은 파일명으로 저장한다.

	/PSLOG/yyyy.mm/dd/A.HH.MM.SS

  0 0 * * * /opt/JSparm/bin/mmonx_proc -A /PSLOG 60 1440

위의 /opt/JSparm/bin/mmonx_proc -A /PSLOG 60 1440 은 매일 00 시 00 분에 cron 의해 실행된다.
실행된 명령어는 60초 간격으로 1440번(24시간 데이타(60*24)) 모든 프로세스 정보를 수집한다.

-A 옵션을 사용하여 수집한 데이타는 ParmView 와 연동하여 사용하지 않는 것이 좋다. 이 데이타를 그냥 보기에 힘들다. 이 프로세스 정보는 psparse 명령어로 가공하여 원하는 형식으로 프로세스 정보를 볼 수 있다.

-D nday -D 옵션을 지정하면, 지정한 nday 전에 데이타가 저장된 경로는 표준출력으로 출력한다.

# date
Mon Nov 14 00:47:02 KST 2011
# mmonx_proc -D 10 /PSLOG
/PSLOG/2011.11/04

위의 mmonx_proc 명령어는 10일 전의 데이타를 수집한 디렉토리 경로를 보여준다.

  0 0 * * * /opt/JSparm/bin/mmonx_proc -A /PSLOG 60 1440; rm -rf `/opt/JSparm/bin/mmonx_proc -D 30 /PSLOG` 2> /dev/null

위와 같이 cron에 등록하면, 뒤에 있는 mmonx_proc -D 30 옵션에 의해 30일이 지난 데이타 디렉토리는 지운다.

-f -f 옵션을 지정하면, background 프로세스가 아니고, foreground 프로세스로 동작한다.
-M condition -M 옵션을 지정하여 실행하면 지정한 조건에 맞는 프로세스에 대한 정보를 M.limit 라는 파일에 저장한다.
이 명령어에서 나오는 데이타는 psinfo -M condition 명령어에서 나오는 데이타와 같다.
mmonx_proc 명령어는 내부적으로 psinfo 명령어에서 사용하는 동일한 모듈을 사용한다.

다음과 같이 cron 테이블에 등록하면

  0 9-17 * * * /opt/JSparm/bin/mmonx_proc -M wcpu=80,hs=100 /PSLOG 60 60

위의 /opt/JSparm/bin/mmonx_proc -M wcpu=80,hs=100 /PSLOG 60 60 은 매일 09,10,11,12,13,14,15,16,17 시 0 분에 cron 의해 9차례 실행된다. 9 차례 실행된 경과는 모두 M.limit 파일에 누적된다.

이 명령어는 WCPU% 사용률이 80 이상이거나 HP+STK의 크기가 100MB 이상인 프로세스가 있으면 그 프로세스에 대한 정보를 다음의 파일에 저장한다.

	/PSLOG/yyyy.mm/dd/M.limit

condition 에 대한 사용법은 psinfo 명령어의 -M 옵션의 사용법을 참조하십시오.

-M 옵션을 -j-A 옵션과 함께 사용하면, -j 나 -A 옵션이 수집하는 데이타에 각 j.HHMMSS, A.HHMMSS 파일에 저장되고, -M 옵션에 해당하는 내용은 별개의 파일(M.limit)을 만들어 데이타를 저장된다.

-s -s 옵션을 지정하면 데이타를 파일에 write 할 때마다 물리적 디스크까지 write 될 수 있도록 해당 파일을 sync한다.
-V -V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
-Z -Z 옵션을 지정하면, 해당 프로세스가 실행되고 있는 Zone 이름도 보여준다.
-z zone -z 옵션에 zone 이름이나 zone ID를 지정하면, 해당 Zone에서 실행되고 있는 프로세스 정보만 보여준다.