The hadbm resourceinfo command displays HADB runtime resource information. You can use this information to help identify resource contention, and reduce performance bottlenecks. For details, see the Tuning HADB chapter in the Sun GlassFish Enterprise Server 2.1 Deployment Planning guide. .
The command syntax is:
hadbm resourceinfo [--databuf] [--locks] [--logbuf] [--nilogbuf] [--adminpassword=password | --adminpasswordfile=file] [--agent=maurl] [dbname]
The dbname operand specifies the database name. The default is hadb.
The following table describes the hadbm resourceinfo special command options. See General Options for a description of other command options.
For more information, see hadbm-resourceinfo(1).
Table 3–15 hadbm resourceinfo Command Options
Option |
Description |
---|---|
-d |
Display data buffer pool information. See Data Buffer Pool Information below for more information. |
-l |
Display lock information. See Lock Information below for more information. |
-b |
Display log buffer information. See Log Buffer Information below for more information. |
-n |
Display node internal log buffer information. See Node Internal Log Buffer Information below for more information. |
Data buffer pool information contains the following:
NodeNo: Node number.
Avail: Total space available in the pool, in MBytes.
Free: Free space available, in MBytes.
Access: Cumulative number of accesses to the data buffer from database, from start until now.
Misses: Cumulative number of page faults that have occurred from database start until now.
Copy-on-Write: Cumulative number of pages copied internally in the data buffer due to checkpointing.
When a user transaction performs an operation on a record, the page containing the record must be in the data buffer pool. If it is not, a miss or a page fault occurs. The transaction then has to wait until the page is retrieved from the data device file on the disk.
If the miss rate is high, increase the data buffer pool. Since the misses are cumulative, run hadbm resourceinfo periodically and use the difference between two runs to see the trend of miss rate. Do not be concerned if free space is very small, since the checkpointing mechanism will make new blocks available.
For example:
NodeNO Avail Free Access Misses Copy-on-Write 0 256 128 100000 50000 10001 256 128 110000 45000 950 |
Lock information is as follows:
NodeNo: Node Number.
Avail: Total number of locks available on the node.
Free: Number of free locks.
Waits: Number of transactions waiting to acquire locks. This is cumulative.
One single transaction cannot use more than 25% of the available locks on a node. Therefore, transactions performing operations in large scale should be aware of this limitation. It is best to perform such transactions in batches, where each batch must be treated as a separate transaction, that is, each batch commits. This is needed because read operations running with repeatable read isolation level, and delete, insert, and update operations use locks that are released only after the transaction terminates.
To change the NumberOfLocks, see Clearing and Archiving History Files.
For example:
NodeNO Avail Free Waits 0 50000 20000 101 50000 20000 0 |
Log buffer information is:
NodeNo: Node Number
Available: amount of memory allocated for the log buffer in MB
Free: amount of free memory in MB
Do not worry if free space is very small, since HADB starts compressing the log buffer. HADB starts compression from the head of the ring buffer and performs it on consecutive log records. Compression cannot proceed when HADB encounters a log record that has not been executed by the node and received by the mirror node
For example:
NodeNO Avail Free 0 16 21 16 3 |
Node internal log buffer information is:
Node Number
Available: amount of memory allocated for the log device in MB
Free: amount of free memory in MB
For example:
NodeNO Avail Free
0 16 21 16 3