Home | Previous Page | Next Page   Administrative Utilities > The onstat Utility >

onstat -p

Use the -p option to display profile counts either since you started the database server or since you ran onstat with the -z option.

Example Output

Figure 106. onstat -p Output
IBM Informix Dynamic Server Version 10.00.UC1  -- On-Line -- Up 03:56:40 -- 15360 Kbytes

Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
939      943      143905   99.35   3925     10816    46919    91.63  

isamtot  open     start    read     write    rewrite  delete   commit   rollbk
100055   15851    16112    24632    13343    1342     1392     905      0

gp_read  gp_write gp_rewrt gp_del   gp_alloc gp_free  gp_curs 
0        0        0        0        0        0        0       

ovlock   ovuserthread ovbuff   usercpu  syscpu   numckpts flushes 
0        0            0        12.00    2.69     9        101     

bufwaits lokwaits lockreqs deadlks  dltouts  ckpwaits compress seqscans
8        0        26894    0        0        1        1247     478     

ixda-RA  idx-RA   da-RA    RA-pgsused lchwaits
5        0        10       15         23 
Output Description

The first portion of the display describes reads and writes.

Reads and writes are tabulated in three categories: from disk, from buffers, and number of pages (read or written).

The first %cached field is a measure of the number of reads from buffers compared to reads from disk. The second %cached field is a measure of the number of writes to buffers compared to writes to disk.

The database server buffers information and writes to the disk in pages. For this reason, the number of disk writes displayed as dskwrits is usually less than the number of writes that an individual user executes:

dskreads
Is the number of actual reads from disk
pagreads
Is the number of pages read
bufreads
Is the number of reads from shared memory
%cached
Is the percent of reads cached, calculated as follows:
100 * (bufreads - dskreads) / bufreads 

If bufreads exceeds the maximum integer (or long) value, its internal representation becomes a negative number, but the value appears as 0.0.

dskwrits
Is the actual number of physical writes to disk

This number includes the writes for the physical and logical logs reported in onstat -l.

pagwrits
Is the number of pages written
bufwrits
Is the number of writes to shared memory
%cached
Is the percent of writes cached, calculated as follows:
100 *(bufwrits - dskwrits) / bufwrits 

If dskwrits exceeds bufwrits, the value appears as 0.0.

The next portion of the -p display tabulates the number of times different ISAM calls were executed. The calls occur at the lowest level of operation and do not necessarily correspond one-to-one with SQL statement execution. A single query might generate multiple ISAM calls. These statistics are gathered across the database server and cannot be used to monitor activity on a single database unless only one database is active or only one database exists:
isamtot
Is the total number of calls
open
Increments when a tblspace is opened
start
Increments the pointer within an index
read
Increments when the read function is called
write
Increments with each write call
rewrite
Increments when an update occurs
delete
Increments when a row is deleted
commit
Increments each time that an iscommit() call is made

No one-to-one correspondence exists between this value and the number of explicit COMMIT WORK statements that are executed.

rollbk
Increments when a transaction is rolled back

The next portion of the -p display provides information on generic pages. The Generic Page Manager provides an API for Dynamic Server to manage nonstandard pages in the database server buffer pool. The following table describes the Generic Page Manager fields in the onstat -p output.

gp_read
The number of generic page reads
gp_write
The number of generic page writes
gp_rewrt
The number of generic page updates
gp_del
The number of generic page deletes
gp_alloc
The number of generic page allocations
gp_free
The number of generic pages freed and returned to tblspaces
gp_curs
The number of cursors used against generic pages

The next portion of the -p display tracks the number of times that a resource was requested when none was available:

ovlock
Is the number of times that the database server attempted to allocate locks more than 15 times

For more information, see "LOCKS" on page 1-56.

ovuserthread
Is the number of times that a user attempted to exceed the maximum number of user threads
ovbuff
Is the number of times that the database server could not find a free shared-memory buffer

When no buffers are free, the database server writes a dirty buffer to disk and then tries to find a free buffer.

usercpu
Is the total user CPU time that all user threads use, expressed in seconds

This entry is updated every 15 seconds.

syscpu
Is the total system CPU time that all user threads use, expressed in seconds

This entry is updated every 15 seconds.

numckpts
Is the number of checkpoints since the boot time
flushes
Is the number of times that the buffer pool has been flushed to the disk

The next portion of the -p display contains miscellaneous information, as follows:

bufwaits
Increments each time that a user thread must wait for a buffer
lokwaits
Increments each time that a user thread must wait for a lock
lockreqs
Increments each time that a lock is requested
deadlks
Increments each time that a potential deadlock is detected and prevented
dltouts
Increments each time that the distributed deadlock time-out value is exceeded while a user thread is waiting for a lock
ckpwaits
Is the number of checkpoint waits
compress
Increments each time that a data page is compressed
seqscans
Increments for each sequential scan

The last portion of the -p display contains the following information:

ixda-RA
Is the count of read-aheads that go from index leaves to data pages
idx-RA
Is the count of read-aheads that traverse index leaves
da-RA
Is the count of data-path-only scans
RA-pgsused
Indicates the number of pages used that the database server read ahead

If this number is significantly less than the total number of pages read ahead, the read-ahead parameters might be set too high.

lchwaits
Stores the number of times that a thread was required to wait for a shared-memory latch

A large number of latch waits typically results from a high volume of processing activity in which the database server is logging most of the transactions.

Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]