hostvt

   hostvt

  사용법


	hostvt -V
	hostvt [-p port][-c count][-N] [host]
	hostvt -f fields [-l] [-p port][-c count] [host]

	Options are as follows:

	-?            print this help
	-c count      specify the number of times to display the data
	-f fields     specify fields to display; fields are comma-separated list
	                 if field is 'print', it prints all fields to use
	-l            print fields line by line
	-N            do not clear screen before displaying
	-p port       TCP port number; def: 9810
	-V            show version
	host          host name to connect
  설명

hostvt는 GUI 버젼인 hostview.exe 의 텍스트 버전이다. hostvt는 시스템에서 실행되는 parmagentx 데몬 프로세스와 TCP(port 9810) connection을 맺고, parmagentx 프로세스로 부터 실시간으로 시스템 통계 정보를 받아서 다음과 같이 시스템의 통계 정보를 보여준다.

# hostvt
Time: 15:35:41  Interval: 10  Hostname: king
----CPU%--- -PMEM%[7.99GB]-- -----VMEM%[15.9GB]-----   FREE   SWAP  *PSR -*APGIO[KB]--
usr sys idl      use    free alloc reserv free other      .      .     .     in    out
  0   1  99     88.7    11.3   6.0    1.6 48.7  43.7    930   7978     0      0      0
 PROC  NLWP HPSTK -----TOP_WCPU%------ -TOP_HS[MB]-- -TOP_RSS[MB]- --TOP_SZ[MB]-
    .     .  [MB]     w1     w2     w3     h1     h2     r1     r2     s1     s2
  129   424   413    0.3    0.1    0.1    112     60    293    159    366    279
---DISK_OPS-- ----DISK_KB---- --DISK_SVCT[ms]--
  read  write    read   write   asvc_t   wsvc_t
     0      0       0       0      0.0      0.0
--NET_LO_PKT- ---NET_RE_PKT-- ---NET_RE_KB--- *N_ERR
    in    out      in     out      in     out      .
     1      1       6       1       1       1      0
SYSCALL ----SYS_RW---  FORK T_CRT    MSG   SEMA NAMEi
      .   read  write     .     .      .      .     .
    848    153     34   0.0   0.0    0.0    0.0   177
  INTR      CS -----LOCK----    FD SWPdev TmpFS
     .       .   smtx    srw     .   [MB]  [MB]
   111     197     48     48  1268    0.5    80
T_CurE ---TCP_Open--- ---TCP_Seg--- *T_Rtr --*TCP_Drop--- -*TCP_Reset-
     . active passive     in    out      .    q   q0    r  att est out
    16    0.0     0.0      1      2      0    0    0    0    0   0   0
--UDP_Dgram-- *U_NoP *U_OF *U_CkS *I_ReF
    in    out      .     .      .      .
     0      0      6     0      0      0
 RunT  BlkT  SwpT ------------------FILE_SYSTEM%-----------------
    .     .     .         top1  %         top2  %         top3  %
  0.0   0.0   0.0            / 22         /tmp  1 /export/test  1

hostvt 명령어에 다른 옵션을 지정하지 않고 실행하면 위와 같이 모든 필드에 대해 화면에 보여준다. 이 화면은 parmagentx 가 실행될 때, 지정한 시간 간격으로 화면이 갱신된다. 여기서 갱신된다는 의미는 전체 화면이 클리어된 후에 새로운 값이 화면에 표시된다.
호스트명을 지정하지 않으면, localhost로 접속을 시도한다. localhost에 접속을 시도할 때에는 로그인 과정 없이 바로 접속한다.

PMEM% 옆에 있는 수치는 물리적 메모리 양(Physmem)이고 VMEM% 옆에 있는 수치는 가상 메모리 전체 양이다.
FILE_SYSTEM% 항목에는 로컬파일 시스템중에서 사용량이 많은 순서로 3개의 파일시스템 이름과 사용률이 표시된다. 여기서 파일 시스템의 이름은 최대 12자까지만 표시된다.

필드명 앞에 별표(*)가 있는 것은 분당값(value per minute)을 의미한다.'
예를 들어 *PSR에 값이 20 이 있는다면, 1분 동안 20번의 Page Scan이 발생했다는 것을 의미한다. 그런데 parmagentx 가 10초 간격으로 데이타를 수집한다면, 20 이 의미하는 것은 데이타를 수집한 10초 동안에 발생한 Page Scan 횟수이다.

-N 옵션을 지정하면 화면이 클리어 되지 않고 앞의 데이타가 스크롤되고 새로운 데이타가 출력된다.

-f 옵션을 지정하면 원하는 필드만 지정하여 볼 수 있다. 다음은 -f 옵션에 여러 필드를 지정하여 보여주는 예제이다.

# hostvt -f +simple
OK connected. waiting for data from king (interval=10)
    Time ----CPU%--- -----VMEM%[15.9GB]----- -PMEM%[7.99GB]--  PROC  FORK ------TOP_WCPU%------
       . usr sys idl alloc reserv free other      use    free     .     .     w1     w2     w3
13:48:18   0   0 100   6.0    1.6 48.7  43.7     88.7    11.3   129   0.0    0.3    0.1    0.1
13:48:28   0   0 100   6.0    1.6 48.7  43.7     88.7    11.3   129   0.0    0.3    0.1    0.1
13:48:38   0   0 100   6.0    1.6 48.7  43.7     88.7    11.3   129   0.0    0.3    0.1    0.1
13:48:48   0   0 100   6.0    1.6 48.7  43.7     88.7    11.3   129   0.1    0.3    0.1    0.1

# hostvt -f cpu,pmem,vmem,process,tcp_open
OK connected. waiting for data from king (interval=10)
    Time ----CPU%--- -PMEM%[7.99GB]-- -----VMEM%[15.9GB]-----  PROC ---TCP_Open---
       . usr sys idl      use    free alloc reserv free other     . active passive
13:49:22   0   0 100     88.7    11.3   6.0    1.6 48.7  43.7   129    0.0     0.0
13:49:32   0   0 100     88.7    11.3   6.0    1.6 48.7  43.7   129    0.0     0.0
13:49:43   0   0 100     88.7    11.3   6.0    1.6 48.7  43.7   129    0.0     0.0
13:49:53   0   0 100     88.7    11.3   6.0    1.6 48.7  43.7   129    0.1     0.0

# hostvt -f CPU,free,swap,+DISK
OK connected. waiting for data from king (interval=10)
    Time ----CPU%---   FREE   SWAP ---DISK_OPS-- ----DISK_KB---- --DISK_SVCT[ms]--
       . usr sys idl      .      .   read  write    read   write   asvc_t   wsvc_t
13:50:03   0   0 100    929   7978      0      0       0       0      0.1      0.0
13:50:13   0   0 100    929   7978      0     10       0     123      1.0      1.9
13:50:24   0   0 100    929   7978      0      0       0       0      0.0      0.0
13:50:34   0   0 100    929   7978      0      0       0       0      0.0      0.0

-f 옵션에 -l 옵션을 추가하면 다음과 같이 각 필드에 대해 라인 별로 보여준다.

# hostvt -l -f CPU,free,swap,+DISK
OK connected. waiting for data from king (interval=10)
    Time        . 03:50:44
----CPU%---  usr sys idl    0   0 100
  FREE       .     929
  SWAP       .    7978
---DISK_OPS--    read  write       0      6
----DISK_KB----     read   write        0      37
--DISK_SVCT[ms]--    asvc_t   wsvc_t       0.8      1.6

  다음은 hostvt의 각 옵션에 대하여 설명한다.

옵션설명
-c count 데이타를 수집할 횟수를 지정한다. 지정한 횟수가 되면, 명령어를 종료된다.
-N hostvt 명령어를 옵션없이 실행하면 전체 필드를 한 화면에 보여준다. 새로운 데이타가 업데이트될 때, 이전 화면은 클리어되고 새로운 데이타가 출력된다.
-N 옵션을 지정하면 화면이 클리어하지 않는다.
-f fields -f 옵션에 지정할 수 있는 필드는 필드명과 그룹명과 별명을 지정할 수 있다.

여러 개를 지정할 경우에 콤마로 구분하여 지정할 수 있다. 필드명은 대소문자를 구분하지 않는다.
field 명 대신 'print' 를 지정하면 다음과 같이 -f 옵션에 지정할 수 있는 필드명을 모두 보여준다.

Fields:
CPU%, PMEM%, VMEM%, FREE, SWAP, PSR, APGIO, PROCESS, NLWP, HPSTK, TOP_WCPU%,
TOP_HS, TOP_RSS, TOP_SZ, DISK_OPS, DISK_KB, DISK_SVCT, NET_LO_PKT, NET_RE_PKT,
NET_RE_KB, NET_RE_ERR, SYSCALL, SYS_RW, FORK, THR_CRT, MSG, SEMA, NAMEi, INTR,
CS, LOCK, FD, SWAPdev, TmpFS, TCP_CurEst, TCP_Open, TCP_Seg, TCP_Retrans,
TCP_Drop, TCP_Reset, UDP_Dgram, UDP_NoPort, UDP_Ovflow, UDP_Cksum, IP_ReasmF,
RunT, BlockT, SwapoutT, FILE_SYSTEM%

Grouping:
+ALL = all the fields
+SIMPLE = CPU%, VMEM%, PMEM%, PROCESS, FORK, TOP_WCPU%
+CPUMEM = CPU%, PMEM%, FREE, VMEM%, SWAP, PSR, APGIO
+MEM = PMEM%, FREE, VMEM%, SWAP
+PS = PROCESS, NLWP, HPSTK, TOP_WCPU%, TOP_HS, TOP_RSS, TOP_SZ
+TCP = TCP_CurEst, TCP_Open, TCP_Seg, TCP_Retrans, TCP_Drop, TCP_Reset
+UDP = UDP_Dgram, UDP_NoPort, UDP_Ovflow, UDP_Cksum, IP_ReasmF
+DISK = DISK_OPS, DISK_KB, DISK_SVCT
+NET = NET_LO_PKT, NET_RE_PKT, NET_RE_KB, NET_RE_ERR
+SYSCALL = SYSCALL, SYS_RW, FORK, THR_CRT, MSG, SEMA, NAMEi
+MISC = INTR, CS, LOCK, FD, SWAPdev, TmpFS
+TS = RunT, BlockT, SwapoutT

Alias:
PROC = PROCESS
T_CRT = THR_CRT
SWPdev = SWAPdev
T_Rtr = TCP_Retrans
U_NoP = UDP_NoPort
U_OF = UDP_Ovflow
U_CkS = UDP_Cksum
I_ReF = IP_ReasmF
BlkT = BlockT
SwpT = SwapoutT
FS = FILE_SYSTEM%

그룹명은 + 표시가 그룹명 앞에 붙는다.

한 필드에 여러 개의 데이타가 있는 경우, 각각의 필드에 해당하는 값이 표시된다. 즉, 아래의 경우, 09:52:27 시간의 디스크이 읽기(rd)는 230 회이고 쓰기(wr)는 30 회이다.

# hostvt -f disk_ops
    Time ---DISK_OPS--
       .   read  write
13:51:34    230     30
13:51:44    253     32

VMEM 필드의 경우에는 서브 필드명에 + 표시가 있는데, 이것은 앞의 값을 포함하여 보여준다는 의미이다. 즉, 아래의 경우, 09:53:17 시간의 가상 메모리의 할당 량의 백분률은 3.5%이고, 할당 량 + 예약된 량의 백분율은 4.5%이고 할당 량 + 예약된 량 + 프리 량의 백분률은 96.7% 이다.

# hostvt -f vmem
    Time -----VMEM%[15.9GB]-----
       . alloc reserv free other
13:51:54   6.0    1.6 48.7  43.7
13:52:04   6.0    1.6 48.7  43.7

  • 그래프에 대한 자세한 설명
  • -l 데이타 필드를 한 라인에 하나씩 보여준다.
    -p port TCP 포트 번호를 지정한다. 디폴트 번호는 9810 이다.
    -V -V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
    host 접속할 호스트명을 지정한다.

    호스트 명을 지정할 경우 다음과 같이 로그인 과정이 필요하다.

    # hostvt -f +disk 192.168.155.20
    Login: guest
    Password:
    OK connected. waiting for data from tiger (interval=10)
        Time ---DISK_OPS-- ----DISK_KB---- --DISK_SVCT[ms]--
           .   read  write    read   write   asvc_t   wsvc_t
    14:01:17      0      6       0      48      0.9      1.6
    14:01:27     90      0    5806       0      9.8      4.1
    14:01:37     45      0    2889       0      9.6      2.8
    14:01:47      0     31      25    3021      6.8     97.7
    
    로그인 과정없이 바로 사용하려면 "/etc/parmclient.access" 파일에 "-" 추가 하거나 @IP를 추가 하면 된다.

  • /etc/parmclient.access에 대한 자세한 설명