busstat man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

BUSSTAT(1M)							   BUSSTAT(1M)

       busstat - report bus-related performance statistics

       busstat -e device-inst | -h | -l

       busstat [-a] [-n]
	    [-w	 device-inst [,pic0=event,picn=event ]]...
	    [-r device-inst]... [interval  [count]]

       busstat	provides access to the bus-related performance counters in the
       system. These performance counters allow for the measurement of statis‐
       tics like hardware clock cycles, bus statistics including DMA and cache
       coherency transactions on a multiprocessor system. Each bus device that
       supports	 these	counters can be programmed to count a number of events
       from a specified list.  Each device supports one	 or  more  Performance
       Instrumentation	Counters  (PIC)	 that  are  capable of counting events
       independently of each other.

       Separate events can be selected for each PIC on each instance of	 these
       devices.	 busstat summarizes the counts over the last interval seconds,
       repeating forever. If a count is given,	the  statistics	 are  repeated
       count times.

	Only  root  users  can program these counters. Non-root users have the
       option of reading the counters that have	 been  programmed  by  a  root

       The  default  value  for	 the  interval	argument  is 1 second, and the
       default count is unlimited.

       The devices that export these counters  are  highly  platform-dependent
       and  the	 data may be difficult to interpret without an in-depth under‐
       standing of the operation of the components that are being measured and
       of the system they reside in.

       The following options are supported:


	   Display absolute counter values. The default is delta values.

       -e device-inst

	   Display  the	 list of events that the specified device supports for
	   each pic.

	   Specify device-inst	as  device  (name)  followed  by  an  optional
	   instance number. If an instance number is specified, the events for
	   that instance are displayed. If no instance	number	is  specified,
	   the	events for the first instance of the specified device are dis‐


	   Print a usage message.


	   List the devices in the system which support performance counters.


	   Do not display a title in the output. The  default  is  to  display

       -r device-inst

	   Read and display all pic values for the specified device

	   Specify  device-inst	 as device (name) followed by instance number,
	   if specifying an instance number of a device whose counters are  to
	   be  read  and  displayed. If all instances of this device are to be
	   read, use device (name) without an instance number. All pic	values
	   will be sampled when using the -r option.

       -w device-inst [,pic0=event] [,picn=event]

	   Program  (write)  the  specified  devices  to  count	 the specified
	   events. Write access to the counters is restricted  to  root	 users
	   only. Non-root users can use -r option.

	   Specify  device-inst	 as  device  (name)  followed  by  an optional
	   instance number. If specifying an instance number of	 a  device  to
	   program  these events on. If all instances of this device are to be
	   programmed the same, then use device without	 an  instance  number.
	   Specify  an	event to be counted for a specified pic by providing a
	   comma separated list of picn=event values.

	   The -e option displays all valid event names for each  device.  Any
	   devices  that are programmed will be sampled every interval seconds
	   and repeated count times. It is recommended that the interval spec‐
	   ified  is  small  enough  to ensure that counter wraparound will be
	   detected. The rate at which counters wraparound varies from	device
	   to  device. If a user is programming events using the -w option and
	   busstat detects that another user has changed the events  that  are
	   being  counted,  the	 tool will terminate as the programmed devices
	   are now being controlled by another user. Only one user can be pro‐
	   gramming  a	device	instance at any one time. Extra devices can be
	   sampled using the -r option. Using multiple	instances  of  the  -w
	   option on the same command line, with the same device-inst specify‐
	   ing a different list of events for the pics will give the effect of
	   multiplexing	 for that device. busstat will switch between the list
	   of events for that device every interval seconds. Event  can	 be  a
	   string  representing	 the event name, or even a number representing
	   the bit pattern to be programmed into the Performance Control  Reg‐
	   ister (PCR).	 This assumes explicit knowledge of the meaning of the
	   control register bits for a device.	The number can be specified in
	   hexadecimal, decimal, or octal, using the usual conventions of str‐

       The following exit values are returned:

	    Successful completion.

	    An error occurred.

	    Another user is writing to the same devices.

   SPARC Only
       Example 1 Programming and monitoring the Address Controller counters

       In this example, ac0 refers to the Address Controller instance  0.  The
       counters	 are programmed to count Memory Bank stalls on an Ultra Enter‐
       prise system at 10 second intervals with the values displayed in	 abso‐
       lute form instead of deltas.

	 # busstat -a -w ac0,pic0=mem_bank0_stall,pic1=mem_bank1_stall 10
	 time  dev   event0	       pic0   event1		 pic1
	 10    ac0   mem_bank0_stall   1234   mem_bank1_stall	 5678
	 20    ac0   mem_bank0_stall   5678   mem_bank1_stall	12345
	 30    ac0   mem_bank0_stall  12345   mem_bank1_stall	56789

       For  a  complete	 list of the supported events for a device, use the -e

       Example 2 Programming and monitoring the counters on all	 instances  of
       the Address Controller

       In  this	 example, ac refers to all ac instances. This example programs
       all instances of the Address Controller counters to count_clock	cycles
       and mem_bank0_rds at 2 second intervals, 100 times, displaying the val‐
       ues as deltas.

	 # busstat -w ac,pic0=clock_cycles,pic1=mem_bank0_rds 2 100
	 time  dev     event0	       pic0	       event1	       pic1
	 2     ac0     clock_cycles    167242902       mem_bank0_rds   3144
	 2     ac1     clock_cycles    167254476       mem_bank0_rds   1392
	 4     ac0     clock_cycles    168025190       mem_bank0_rds   40302
	 4     ac1     clock_cycles    168024056       mem_bank0_rds   40580

       Example 3 Monitoring the events being counted

       This example monitors the events that are being counted on  the	 sbus1
       device,	100  times at 1 second intervals. It suggests that a root user
       has changed the events that sbus1 was counting  to  be  dvma_tlb_misses
       and interrupts instead of pio_cycles.

	 % busstat -r sbus0 1 100

	 time	 dev	 event0		      pic0	 event1		 pic1
	 1	 sbus1	 pio_cycles	      2321	 pio_cycles	 2321
	 2	 sbus1	 pio_cycles	      48	 pio_cycles	 48
	 3	 sbus1	 pio_cycles	      49	 pio_cycles	 49
	 4	 sbus1	 pio_cycles	      2281	 pio_cycles	 2281
	 5	 sbus1	 dvma_tlb_misses      0		 interrupts	 0
	 6	 sbus1	 dvma_tlb_misses      6		 interrupts	 2
	 7	 sbus1	 dvma_tlb_misses      8		 interrupts	 11

       Example 4 Event Multiplexing

       This  example programs ac0 to alternate between counting (clock cycles,
       mem_bank0_rds) and (addr_pkts, data_pkts) at 2 second  intervals	 while
       also monitoring what ac1 is counting :

       It shows the expected output of the above busstat command. Another root
       user on the machine has changed the events  that	 this  user  had  pro‐
       grammed and busstat has detected this and terminates the command with a

	 # busstat -w ac0,pic0=clock_cycles,pic1=mem_bank0_rds \
		    -w ac0,pic0=addr_pkts,pic1=data_pkts \
		    -r ac1 2

	 time	 dev	 event0		 pic0		 event1		 pic1
	 2	 ac0	 addr_pkts	 12866		 data_pkts	 17015
	 2	 ac1	 rio_pkts	 385		 rio_pkts	 385
	 4	 ac0	 clock_cycles	 168018914	 mem_bank0_rds	 2865
	 4	 ac1	 rio_pkts	 506		 rio_pkts	 506
	 6	 ac0	 addr_pkts	 144236		 data_pkts	 149223
	 6	 ac1	 rio_pkts	 522		 rio_pkts	 522
	 8	 ac0	 clock_cycles	 168021245	 mem_bank0_rds	 2564
	 8	 ac1	 rio_pkts	 387		 rio_pkts	 387
	 10	 ac0	 addr_pkts	 144292		 data_pkts	 159645
	 10	 ac1	 rio_pkts	 506		 rio_pkts	 506
	 12	 ac0	 clock_cycles	 168020364	 mem_bank0_rds	 2665
	 12	 ac1	 rio_pkts	 522		 rio_pkts	 522
	 busstat: events changed (possibly by another busstat).

       iostat(1M), mpstat(1M), vmstat(1M), strtol(3C), attributes(5)

				  Nov 1, 1999			   BUSSTAT(1M)

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net