procinfo

   procinfo

  사용법


	procinfo -V
	procinfo [-c|-r|-s|-u|-x] [-t n|-a|-A] [-G cmd_name | -g string] [-D][-T][-b|-k|-m][-f][-0][-1][-z zone][-Z] [interval [count]]
	procinfo -p plist [-c|-r|-s|-u|-x] [-D][-T][-b|-k|-m][-f][-0][-1][-z zone][-Z] [interval [count]]
	procinfo -l -p pid [-c|-r|-s|-u|-x] [-t n|-a|-A] [-D][-T][-b|-k|-m][-f][-0][-1][-z zone][-Z] [interval [count]]
	procinfo -l -p pid -L lwplist [-c|-r|-s|-u|-x] [-D][-T][-b|-k|-m][-f][-0][-1][-z zone][-Z] [interval [count]]
	procinfo -R [-p plist | -l -p pid [-L lwplist] | [-G cmd_name | -g string] ] [-T][-b|-k|-m][-f][-1][-z zone][-Z] [interval [count]]

	Options are as follows:

	-?           print this help
	-0           insert DATE.TIME info at the first column
	-1           set both interval and count to 1
	-A           display all the processes
	-a           display all the processes which have worked
	-b           print amount of read/write data in bytes
	-C           sort by D-WCPU% (system CPU time + user CPU time): (default)
	-c           sort by the number of system calls
	-D           delta value instead of value per second for CTX, iCTX, R/W, SYSCALL
	-f           print command name only insted of argument list
	-g string    grep string on CMDLINE
	-G cmd_name  match the last component of command pathname
	-k           print amount of read/write data in kilobytes: (default)
	-l           print information per LWP
	-L lwplist   print information of the LWPs in the lwplist
	-m           print amount of read/write data in megabytes
	-p plist     process list(separated by comma) to monitor
	-r           sort by read/write bytes
	-R           display accumulated data since process started
	-s           sort by system CPU time
	-t n         the number of processes; def: 20
	-T           print total CPU time in nanosecond
	-u           sort by user CPU time
	-V           show version
	-x           sort by user PID/LWPID
	-z zone      filter by zone name
	-Z           print zone name in the output lines
	interval     interval time(second); def: 5
	count        times to get the info

  설명

procinfo 명령어는 지정한 시간 간격(디폴트 5초) 동안에 active한 프로세스를 찾아내어, 그중에서 CPU를 많이 사용한 순서(D-WCPU%)로 상위 20개의 프로세스에 대한 정보를 보여준다.
중간에 종료된 프로세스에 대한 정보는 나타나지 않는다.

여기서 active한 프로세스란 CPU를 사용한 프로세스를 말한다.

active한 프로세스는 다음과 같은 것으로 알 수 있다.

  • 그 시간 간격 동안에 시스템 콜이 있었던 프로세스
또는
  • CPU 시간을 사용한 프로세스
어떤 프로세스가 CPU를 차지하고 실행되어도 그 CPU를 1/10000초 이상 사용하지 않으면 CPU 사용시간은 증가되지 않는다. 따라서 시스템 콜이 여러번 발생한 프로세스라도 CPU 사용시간이 0(zero) 일 수 있다. (V10.0 부터는 procinfo 명령어에서는 1/10000초 단위로 CPU 사용량을 조사한다)
또한 시스템 콜이 하나도 없어도 CPU 사용시간이 증가할 수 있다. 이러한 프로세스는 사용자 모드에서 무한 루프에 빠져있다고 볼 수 있다.

CPU 사용시간이 0 이고 시스템 콜도 0 이고 context switching도 0 이면, 그 프로세스는 그 시간 간격 동안 아무런 동작도 하지 않은 프로세스이다.
-A 또는 -p 옵션을 명시적으로 지정하지 않으면, 이러한 프로세스는 procinfo 명령어의 출력에 나타나지 않는다.
즉, -A 또는 -p 옵션을 사용하면, 해당되는 프로세스 정보는 active/inactive에 관계없이 정보가 모두 출력된다.

다음은 5초 동안에 active한 프로세스에 대한 정보를 보여준다.

# procinfo -f
  PID USERNAME   SIZE    RSS S NLWP   WCPU%   CPU%  ELAPSED D-WCPU%  D-CPU%  D-UTIME  D-STIME    CTX   iCTX      RW SYSCALL CMD 0424.21:07:33
 1381    guest 279.9M 166.6M R    9   0.29%  0.15%  34d1662   1.34%   0.67%   0.0732   0.0008   18.0    1.6  0.104K    67.5 thd-bin
  895    guest 417.9M 337.7M R    1   1.84%  0.92%  34d2205   0.48%   0.24%   0.0261   0.0006    7.3    0.9  4.366K    29.2 Xorg
    3     root 0.000M 0.000M O    1   0.38%  0.19%  34d2242   0.38%   0.19%   0.0000   0.0211    0.9    0.0  0.000K     0.0 fsflush
 1271    guest 96.25M 15.60M R    1   0.13%  0.07%  34d2001   0.12%   0.06%   0.0064   0.0004    6.2    1.8  2.571K    27.6 mixer_applet2
 1178    guest 178.4M 59.47M R    2   0.21%  0.11%  34d2008   0.09%   0.05%   0.0047   0.0005    4.4    2.4  3.824K    11.6 gnome-terminal
 1077    guest 12.26M 9.875M S    1   0.04%  0.02%  34d2018   0.03%   0.02%   0.0016   0.0005    3.1    0.0  3.683K    23.8 gconfd-2
 1265    guest 69.73M 13.26M S    1   0.03%  0.02%  34d2003   0.03%   0.02%   0.0016   0.0004    2.5    0.9  0.184K    10.9 gnome-netstatus
 1174    guest 188.1M 59.00M S    1   0.04%  0.02%  34d2009   0.03%   0.02%   0.0012   0.0005    3.1    0.0  1.543K    22.9 gnome-panel
 1302    guest 242.1M 66.11M R   18   0.03%  0.02%  34d1994   0.02%   0.01%   0.0007   0.0007   21.4    2.4  0.005K    49.7 java
 2140    guest 2.816M 2.043M O    1   0.03%  0.02%      0d6   0.02%   0.01%   0.0002   0.0011    0.2    0.0  10.07K    64.0 procinfo
 1000 noaccess 190.3M 128.2M R   18   0.01%  0.01%  34d2195   0.02%   0.01%   0.0007   0.0004    5.6    0.0  0.000K    15.4 java

만일 active한 프로세스를 모두 보고 싶다면 -a 옵션을 지정하면 된다. 각 컬럼의 의미는 아래의 헤더 정보를 참조하십시오.

-c 옵션을 지정하면 시스템 콜을 많이 한 순서로 보여준다.

# procinfo -c -f
  PID USERNAME   SIZE    RSS S NLWP   WCPU%   CPU%  ELAPSED D-WCPU%  D-CPU%  D-UTIME  D-STIME    CTX   iCTX      RW SYSCALL CMD 0424.22:10:01
  895    guest 417.9M 337.7M S    1   0.73%  0.37%  34d2297   1.12%   0.56%   0.0514   0.0047   74.5   12.4  16.89K   376.8 Xorg
 1178    guest 178.4M 59.47M O    2   0.25%  0.13%  34d2100   0.39%   0.20%   0.0162   0.0036   36.1    0.8  9.667K   202.3 gnome-terminal
 1302    guest 242.1M 66.11M S   18   0.02%  0.01%  34d2086   0.03%   0.02%   0.0009   0.0008   29.6    2.4  0.008K    70.5 java
 2141    guest 2.816M 2.043M O    1   0.02%  0.01%      0d5   0.02%   0.01%   0.0002   0.0011    0.4    0.2  11.08K    70.5 procinfo
 1250    guest 127.6M 22.38M S    1   0.02%  0.01%  34d2095   0.05%   0.02%   0.0021   0.0005   13.2    0.0  2.026K    64.1 wnck-applet
 1170    guest 127.5M 24.51M S    1   0.10%  0.05%  34d2101   0.29%   0.14%   0.0137   0.0007    9.0    0.0  2.518K    49.3 metacity
 1174    guest 188.1M 59.00M S    1   0.04%  0.02%  34d2101   0.05%   0.02%   0.0018   0.0006    4.2    0.0  1.784K    32.7 gnome-panel
 1153    guest 9.266M 4.008M S    1   0.01%  0.00%  34d2103   0.01%   0.00%   0.0002   0.0002    4.2    0.0  0.293K    32.1 gnome-smproxy
 1271    guest 96.25M 15.60M S    1   0.13%  0.06%  34d2093   0.12%   0.06%   0.0057   0.0004    5.0    0.0  2.495K    29.0 mixer_applet2
 1077    guest 12.26M 9.875M S    1   0.04%  0.02%  34d2110   0.03%   0.02%   0.0014   0.0003    3.0    0.0  3.547K    23.0 gconfd-2
 1000 noaccess 190.3M 128.2M S   18   0.01%  0.01%  34d2287   0.02%   0.01%   0.0008   0.0005    9.2    0.6  0.000K    19.4 java

-p 옵션을 사용하면 특정 프로세스에 대한 정보만 조사할 수 있다. 다음은 PID 808인 프로세스를 1초단위로 5번 조사한 내용이다.

# procinfo -f -p 895 1 5
  PID USERNAME   SIZE    RSS S NLWP   WCPU%   CPU%  ELAPSED D-WCPU%  D-CPU%  D-UTIME  D-STIME    CTX   iCTX      RW SYSCALL CMD 0424.22:07:28
  895    guest 417.9M 337.7M S    1   1.15%  0.57%  34d2446   2.70%   1.35%   0.0262   0.0009   82.1   12.0  23.31K   301.4 Xorg
  895    guest 417.9M 337.7M O    1   1.24%  0.62%  34d2447   3.22%   1.61%   0.0300   0.0022  199.0   11.0  31.10K   829.0 Xorg
  895    guest 417.9M 337.7M O    1   4.79%  2.39%  34d2448  79.34%  39.67%   0.7825   0.0077  473.9  370.5  423.5K  2054.4 Xorg
  895    guest 417.9M 337.7M R    1   5.81%  2.91%  34d2449  27.49%  13.75%   0.2734   0.0027  159.3   88.6  106.5K   722.0 Xorg
  895    guest 417.9M 337.7M S    1   5.66%  2.83%  34d2450   2.51%   1.25%   0.0227   0.0025  260.0   20.0  29.70K   943.9 Xorg

-l 옵션을 지정하면 프로세스의 쓰레드 정보를 보여준다.
(-l 옵션은 -p 옵션과 함께 사용하여야 한다.)

# procinfo -p 1302 -l -f
CMD: java
  PID USERNAME S LWPID NLWP   WCPU%   CPU%  ELAPSED D-WCPU%  D-CPU%  D-UTIME  D-STIME    CTX   iCTX      RW SYSCALL SYSCALL-NAME 0424.22:10:21
 1302    guest S    40   18   0.01%  0.01%  34d2977   0.02%   0.01%   0.0006   0.0003   16.4    1.6  0.005K    34.3 pollsys
 1302    guest S    15   18   0.01%  0.01%  34d2980   0.01%   0.01%   0.0003   0.0004   10.8    0.8  0.005K    45.5 pollsys
 1302    guest S    12   18   0.01%  0.00%  34d2980   0.01%   0.00%   0.0002   0.0002   13.0    1.4  0.000K    11.6 pollsys
 1302    guest S     4   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0001    1.2    0.2  0.000K     1.0 lwp_cond_wait
 1302    guest S     6   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S     7   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_park
 1302    guest S     8   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S     9   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S    11   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S    10   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S    42   18   0.00%  0.00%  34d2977   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S    43   18   0.00%  0.00%  34d2977   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S    13   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S     1   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S     2   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S     3   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S     5   18   0.00%  0.00%  34d2980   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 lwp_cond_wait
 1302    guest S    71   18   0.00%  0.00%  34d2974   0.00%   0.00%   0.0000   0.0000    0.0    0.0  0.000K     0.0 pollsys

-0 옵션을 지정하면 다음과 같이 첫컬럼에 날짜와 시간 정보를 출력하게 한다.

# procinfo -0 -f
    DATE.TIME   PID USERNAME   SIZE    RSS S NLWP   WCPU%   CPU%  ELAPSED D-WCPU%  D-CPU%  D-UTIME  D-STIME    CTX   iCTX      RW SYSCALL CMD
0424.22:15:38   948 noaccess 124.4M 115.2M S   18   0.15%  0.15%  0d24459   0.15%   0.15%   0.0018   0.0059   18.4    0.0  0.000K    31.0 java
0424.22:15:38   803     root 33.07M 15.28M S    1   0.08%  0.08%  0d24474   0.09%   0.09%   0.0020   0.0023    4.0    0.0  0.117K    16.0 Xorg
0424.22:15:38     3     root 0.000M 0.000M S    1   0.13%  0.13%  0d24585   0.08%   0.08%   0.0000   0.0041    1.0    0.0  0.000K     0.0 fsflush
0424.22:15:38  8435    guest 3.363M 2.094M O    1   0.05%  0.05%      0d5   0.03%   0.03%   0.0002   0.0014    0.2    0.0  7.070K    46.0 procinfo
0424.22:15:38   898     root 11.54M 7.426M S    1   0.03%  0.03%  0d24463   0.03%   0.03%   0.0004   0.0011    2.0    0.0  0.117K    10.0 dtgreet
0424.22:15:38     7     root 12.15M 9.285M R   13   0.00%  0.00%  0d24573   0.01%   0.01%   0.0001   0.0004    0.6    0.0  0.131K     1.8 svc.startd
0424.22:15:38   831     root 6.336M 4.199M S    1   0.01%  0.01%  0d24470   0.01%   0.01%   0.0001   0.0003    1.0    0.0  0.000K     3.0 httpd
0424.22:15:38   649     root 9.137M 1.852M S    1   0.00%  0.00%  0d24504   0.00%   0.00%   0.0000   0.0001    0.2    0.0  0.000K     1.6 sendmail
0424.22:15:38     9     root 11.25M 9.699M S   21   0.00%  0.00%  0d24572   0.00%   0.00%   0.0000   0.0001    0.2    0.0  0.000K     0.2 svc.configd
0424.22:15:38   384     root 1.406M 0.621M R    1   0.00%  0.00%  0d24529   0.00%   0.00%   0.0000   0.0000    0.6    0.0  0.000K     0.0 utmpd

-Z 옵션을 지정하면 프로세스가 실행되고 있는 zone 정보를 보여준다.

# procinfo -Z
      ZONE   PID USERNAME   SIZE    RSS S NLWP   WCPU%   CPU%  ELAPSED D-WCPU%  D-CPU%  D-UTIME  D-STIME    CTX   iCTX      RW SYSCALL CMDLINE 0424.22:19:38
    global     3     root 0.000M 0.000M S    1   0.06%  0.06%  0d16908   0.05%   0.05%   0.0000   0.0025    1.0    0.0  0.000K     0.0 fsflush
    global   715     root 11.54M 5.980M S    1   0.02%  0.02%  0d16851   0.02%   0.02%   0.0004   0.0008    2.0    0.0  0.117K    10.0 dtgreet -display :0
    global  3283     root 3.668M 0.750M S    1   0.00%  0.00%  0d15875   0.02%   0.02%   0.0004   0.0007    1.2    0.6  0.011K     3.6 /usr/sbin/in.telnetd
    global  7286    guest 2.879M 2.129M O    1   0.08%  0.08%      0d5   0.02%   0.02%   0.0002   0.0007    0.2    0.0  6.685K    43.7 procinfo -Z
    global   661     root 6.336M 3.156M S    1   0.00%  0.00%  0d16857   0.00%   0.00%   0.0001   0.0002    1.0    0.0  0.000K     3.0 /usr/apache/bin/httpd
    global   524     root 7.492M 3.012M S    7   0.00%  0.00%  0d16865   0.00%   0.00%   0.0000   0.0001    0.4    0.0  0.000K     0.8 devfsadmd
    global     7     root 12.02M 8.281M R   12   0.00%  0.00%  0d16905   0.00%   0.00%   0.0001   0.0001    0.4    0.0  0.131K     1.6 /lib/svc/bin/svc.startd

다음은 procinfo 명령어의 헤더 정보이다.

필드설명
ZONE프로세스가 실행되고 있는 zone을 표시 (-Z 옵션 사용시에 표시됨)
PID프로세스 ID
USERNAME사용자명
SIZE 프로세스에 할당된 가상 메모리 양
RSS 프로세스 가상 메모리 중에 물리적 메모리에 적재된 메모리 양
S프로세스의 상태(state)를 표시한다.
S    Sleeping process
O    process On processor
R    Runnable process
Z    Zombie state
T    process stopped ether by a job control signal or because of being Traced.
NLWP
LWPID
NLWP는 프로세스에 있는 LWP(light-weight process: 쓰레드)의 개수
LWPID는 LWP의 ID (-l 옵션을 사용하면 LWPID를 보여준다.)
CPU%
WCPU%
CPU%는 CPU 사용량의 백분률
WCPU%(weighted CPU%) = CPU% * processor 개수
WCPU%란 각 LWP가 사용한 CPU 사용률을 CPU가 1 개인 시스템에 비례한 사용률을 말한다. 예를 들면, CPU가 4개인 시스템에서 CPU%가 20%이면 WCPU%는 80%(20*4)가 된다.
ELAPSEDLWP가 시작한 후에 경과된 시간(second)
형식: day d second
1d12419:   1일 12419초가 경과함
D-CPU%
D-WCPU%

D-UTIME
D-STIME

D-TIME

D-CPU%는 지정된 시간 간격 동안에 사용된 CPU 사용량의 백분률
D-WCPU%(weighted CPU%) = D-CPU% * processor 개수

procinfo 명령어는 지정된 시간 간격 동안 프로세스가 사용한 CPU 사용시간(1/10000초 단위)을 조사하여 사용자 모드(user mode)에서 사용한 시간을 D-UTIME에 표시하고 시스템 모드(system mode)에서 사용한 시간을 D-STIME에 표시한다.
이 두개의 CPU 사용시간을 합하여, 시간 간격 동안의 전체 CPU 시간으로 나눈 값을 D-CPU%에 표시한다.

예를 들어, xservice라는 프로세스가 CPU가 1가 하나인 시스템에서 5초 간격으로 데이타를 수집한 결과가 다음과 같을 경우에

	D-UTIME : 1.2328
	D-STIME : 0.2882
두개의 시간을 합계한 것은 1.51이 되고, 시간 간격이 5초 이므로 다음과 같이 계산하여

	(D-UTIME + D-STIME)/(INTERVAL * NCPU) * 100 = D-CPU%
	D-CPU% * NCPU = D-WCPU%
	
	(1.2328+0.2882)/(5.0000 * 1) * 100 = 30.42%  -----> D-CPU%
	30.42 * 1 = 30.42%  ------------------------> D-WCPU%
즉, xservice 프로세스는 주어진 시간 간격 동안에 시스템 CPU 자원의 30.42%를 사용하였다.

만일 동일한 값이 CPU가 2개인 시스템에서 측정되었다면 다음과 같이 계산된다.

	(1.2328+0.2882)/(5.0000 * 2) * 100 = 15.21%  -----> D-CPU%
	15.21 * 2 = 30.42%  ------------------------> D-WCPU%
즉, xservice 프로세스는 주어진 시간 간격 동안에 시스템 CPU 자원의 15.21%를 사용하였다. 그런데, 이 프로세스가 CPU가 하나인 시스템에서 동작했다면 30.42%(D-WCPU%) 사용한 것이 된다.

-T 옵션을 지정하면, D-UTIME 과 D-STIME을 합하여 D-TIME으로 표시한다.

CTX
iCTX
context switching 횟수 (초당값: value per second)
-D 옵션을 지정하면 초당값이 아니고 차이값을 표시한다.

CTX는 voluntary context switches + involuntary context switches 합한 것이고 iCTX는 involuntary context switches 만 보여준다.

RW 프로세스가 지정한 시간 간격동안 read/write 한 양(초당값: value per second)
-D 옵션을 지정하면 초당값이 아니고 차이값을 표시한다.

read/write 양은 다음과 같은 시스템 콜로 입출력한 양을 표시한다.

	read(), write(), readv(), writev(), pread(), pwrite()
read/write 양의 단위는 디폴트로 KB(-k 옵션) 이다. -m 옵션을 지정하면 MB 단위로, -b 옵션을 지정하면 바이트 단위로 표시한다.
SYSCALL시스템 콜을 호출한 횟수(초당값)
-D 옵션을 지정하면 초당값이 아니고 차이값을 표시한다.
SYSCALL-NAME -l 옵션을 사용하면, 쓰레드 별로 정보를 보여준다. 이 때 스레드가 수행하고 있는 시스템 콜명을 표시한다.
CMDLINE명령어 및 인수
CMD명령어 패스의 마지막 파일명
예를 들어 명령어가 /usr/openwin/bin/htt -nosm 경우에 htt을 나타낸다. /usr/openwin/bin/htt -nosm ---> htt 이 컬럼은 -f 옵션을 사용할 경우에 출력된다.
mmdd.HHMMSS명령어를 실행한 시간을 표시한다.
월일.시:분:초

다음은 procinfo 명령어의 옵션이다.

옵션설명
-0 -0 옵션을 지정하면, 첫컬럼에 날짜와 시간 정보를 출력하게 한다.
-1 -1 옵션은 interval과 count를 1로 지정한다. 다음의 두개의 명령어는 같은 의미이다.
	# procinfo -1
	# procinfo 1 1
즉, 1초 시간 간격으로 1회 데이타를 출력한다.
-A -A 옵션을 지정하면, 모든 프로세스 정보를 보여준다.

디폴트로 procinfo 명령어는 active한 프로세스중에서 상위 20개의 프로세스 정보만 보여준다. -A 옵션을 지정하면, 모든 프로세스 정보를 보여준다
-a 옵션을 지정하면 active한 프로세스 정보를 모두 보여준다.

-a -a 옵션을 사용하면 지정된 시간 간격 동안에 프로세스가 시스템 콜이 했거나, context switching이 있었거나, CPU 시간을 사용한 프로세스를 찾아서 모두 보여준다.
이 옵션이 없으면 디폴트로 최대 20개의 프로세스 정보만 보여준다.
-b -b 옵션은 출력할 read/write 양을 바이트로 보여준다. (디폴트는 KB)
-C -c 옵션을 지정하면 D-WCPU%가 큰 순으로 프로세스 정보를 보여준다.
D-WCPU%는 D-UTIME + D-STIME으로 결정된다.
-c -c 옵션을 지정하면 시스템 콜을 많이 호출한 순서(SYSCALL)로 프로세스 정보를 보여준다.
-D -D 옵션은 context switching 횟수, read/write 양, system call 횟수를 차이값(delta value)으로 보여준다. 디폴트는 초당값(value per second)이다.
-f -f 옵션을 지정하면 명령어와 인수(CMDLINE) 대신에 명령어 이름(CMD)만 출력한다.
-k -k 옵션은 출력할 read/write 양을 킬로 바이트로 보여준다. 이 옵션은 디폴트이다.
-l -l 옵션은 지정하면, 프로세스내에 있는 개별 쓰레드 정보를 보여준다.
-l 옵션을 -p pid 옵션과 함께 사용하여야 한다.
-L lwplist -L 옵션에 LWP ID를 지정하면 지정한 LWP 정보만 보여준다.
-L 옵션은 -l 옵션과 -p 옵션을 함께 사용하여야 한다.
-m -m 옵션은 출력할 read/write 양을 메가 바이트로 보여준다. (디폴트는 KB)
-p plist -p plist 옵션을 지정하면 지정한 프로세스들에 대한 정보만 보여준다.
여러 개의 프로세스를 지정하려면 콤마로 분리하여 지정할 수 있다.
-R -R 옵션을 지정하면, 현재 실행되고 있는 프로세스의 정보의 누적값을 보여준다.
-r -r 옵션을 지정하면 read/write를 많이 한 순서(RW(KB))로 프로세스 정보를 보여준다.
-s -s 옵션을 지정하면 시스템 CPU 사용 시간을 많이 사용한 순서(D-STIME)로 프로세스 정보를 보여준다.
-T -T 옵션을 지정하면 CPU 사용 시간 D-UTIME과 D-STIME을 합하여 D-TIME 하나로 표시하고, nano second 단위로 표시한다.
-t n -t 옵션을 지정하지 않으면, active한 프로세스중에서 정렬순서대로 상위 20개의 process 정보를 보여준다. 이 옵션을 지정하면 지정한 만큼의 프로세스 정보를 보여준다.

정렬순서에 관련되 옵션은 다음과 같다.

옵션 정렬컬럼 ========================================== -C D-UTIME + D-STIME (디폴트 옵션) -c SYSCALL -r RW -s D-STIME -u D-UTIME -x PID/LWPID
-u -u 옵션을 지정하면 사용자 CPU 사용 시간을 많이 사용한 순서(D-UTIME)로 프로세스 정보를 보여준다.
-V -V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
-x -x 옵션은 PID 순서로 프로세스 정보를 보여준다.
-p plist 옵션은 지정하면 -p 옵션에 지정된 순서로 프로세스 정보를 보여준다.

-l 옵션을 함께 사용하면 LPWID 순서로 프로세스 정보를 보여준다.
-L lwplist 옵션은 지정하면 -L 옵션에 지정된 순서로 LWP 정보를 보여준다.

-Z -Z 옵션을 지정하면, 해당 프로세스가 실행되고 있는 Zone 이름도 보여준다.
-z zone -z 옵션에 zone 이름이나 zone ID를 지정하면, 해당 Zone에서 실행되고 있는 프로세스 정보만 보여준다.
[interval [count]] interval의 시간 간격으로 count 횟수 만큼 반복하여 프로세스 정보를 수집한다. count를 지정하지 않으면, 지정한 시간 간격으로 무한히 반복한다. 둘다 지정하지 않으면 5초 단위로 한번만 프로세스 정보를 수집한다.

데이타를 수집할 때, 지정한 시간 간격으로 프로세스 정보를 수집한다. 그런데 지정한 시간 간격이 지나도 앞 시간대의 정보를 모두 수집하지 못 했을 때 그 시간대의 데이타는 수집하지 않고 다음 데이타 수집 시간에 데이타를 수집한다.