hadbm resourceinfo 命令显示了 HADB 运行时资源信息。使用此信息有助于识别资源争用并减少性能瓶颈。有关详细信息,请参见《Sun Java System Application Server 9.1 Performance Tuning Guide》中的“Tuning HADB”。
该命令语法为:
hadbm resourceinfo [--databuf] [--locks] [--logbuf] [--nilogbuf] [--adminpassword=password | --adminpasswordfile=file] [--agent=maurl] [dbname]
dbname 操作数指定数据库名称。默认值为 hadb。
下表介绍了 hadbm resourceinfo 的特殊命令选项。有关其他命令选项的说明,请参见常规选项。
有关更多信息,请参见 hadbm-resourceinfo(1)。
表 3–15 hadbm resourceinfo 命令选项
选项 |
说明 |
---|---|
-d |
显示数据缓冲池信息。 有关更多信息,请参见以下数据缓冲池信息。 |
-l |
显示锁信息。 有关更多信息,请参见以下锁信息。 |
-b |
显示日志缓冲区信息。 有关更多信息,请参见以下日志缓冲区信息。 |
-n |
显示节点内部日志缓冲区信息。 有关更多信息,请参见以下节点内部日志缓冲区信息。 |
数据缓冲池信息包含:
NodeNo:节点编号。
Avail:池中的总可用空间,以 MB 为单位。
Free:可用的空闲空间,以 MB 为单位。
Access:从数据库启动到现在,访问数据缓冲区的累积次数。
Misses:从数据库启动到现在,缺页发生的累积次数。
Copy-on-Write:由于检查点操作而复制到数据缓冲区内部的累积页面数。
当用户事务在记录上执行操作时,包含该记录的页面必须在数据缓冲池中。如果该页面不在数据缓冲池中,则发生 miss 或缺页。然后事务必须等待,直到从磁盘的数据设备文件中检索到该页面。
如果未命中率很高,则增加数据缓冲池。由于未命中次数是累积的,请定期运行 hadbm resourceinfo,并使用两次运行结果的不同查看未命中率的趋向。如果空闲空间很小,请勿考虑运行该命令,因为检查点机制将使新块可用。
例如:
NodeNO Avail Free Access Misses Copy-on-Write 0 256 128 100000 50000 10001 256 128 110000 45000 950 |
锁信息如下:
NodeNo:节点编号。
Avail:节点上可用的锁的总数目。
Free:空闲锁数目。
Waits:等待获得锁的事务的数目。该数目是累积的。
一个事务无法使用节点上超过 25% 的可用锁。因此,大规模执行操作的事务应注意到该限制。最好成批执行此类事务,其中每批都必须被视为一个独立事务,即分批提交。需要这样做的原因是,读取操作(在 repeatable read 隔离层运行)以及 delete、insert 和 update 操作使用仅在事务终止后才被释放的锁。
要更改 NumberOfLocks,请参见清除和归档历史文件。
例如:
NodeNO Avail Free Waits 0 50000 20000 101 50000 20000 0 |
日志缓冲区信息为:
NodeNo:节点编号
Available:为日志缓冲区分配的内存容量(以 MB 为单位)
Free:空闲内存容量(以 MB 为单位)
如果空闲空间很小,请勿担心,因为 HADB 可以启动日志缓冲区压缩。HADB 从环状缓冲区的头部开始压缩,并在连续日志记录上执行。当 HADB 遇到尚未由节点执行并且尚未由镜像节点接收的日志记录时,压缩无法继续进行。
例如:
NodeNO Avail Free 0 16 21 16 3 |
节点内部日志缓冲区信息为:
节点编号
可用:为日志设备分配的内存容量(以 MB 为单位)
空闲:空闲内存容量(以 MB 为单位)
例如:
NodeNO Avail Free
0 16 21 16 3