启动 db2top
- 连接数据库
用具有监控权限的 DB2 用户登录数据库服务器:db2 connect to <数据库名> user <用户名> using <密码>
- 启动命令
执行以下命令进入交互界面:db2top -d <数据库名>
常用参数:
-m <秒>
:刷新间隔(默认 2 秒)-f <文件>
:将输出记录到文件(后台模式)-u
:显示未提交事务
核心监控视图详解
启动后按单字母键切换视图(区分大小写):
视图键 | 功能 | 关键监控指标 |
---|---|---|
d |
数据库概览 | 活动代理数、锁等待、日志空间、缓冲池命中率 |
a |
应用连接(会话) | 应用状态、执行语句、锁持有情况 |
l |
锁信息 | 锁类型、等待时间、持有者与等待者 |
t |
表空间 | 使用率、I/O 时间、容器状态 |
b |
缓冲池 | 命中率、读写次数、脏页数量 |
s |
SQL 语句(高成本查询) | 执行时间、排序、I/O 消耗 |
u |
表/索引访问统计 | 扫描次数、行操作、索引使用率 |
x |
当前执行语句 | 实时 SQL、执行计划 ID |
交互式操作技巧
- 排序与筛选
- 按
Shift + >
或<
切换排序字段(如按 CPU 排序应用视图)。 - 输入 + 关键字(如
/APP1
)过滤显示内容。
- 按
- 刷新控制
空格键
:手动刷新当前视图。0-9
:调整刷新频率(秒)。
- 深入诊断
在s
(SQL)视图中选中查询,按e
显示执行计划,按k
终止查询。
实战示例
场景:诊断锁等待问题
- 启动 db2top:
db2top -d SAMPLE
- 按
l
进入锁视图,观察Wait Time
高的条目。 - 按
Tab
选中锁,按w
查看等待链关系。 - 切换到应用视图(
a
),根据锁持有者应用 ID 终止会话(按k
)。
后台监控与日志记录
db2top -d SAMPLE -m 5 -f /tmp/db2top.log
- 后台运行并每 5 秒刷新一次,输出到
/tmp/db2top.log
。 - 用
kill -USR2 <进程ID>
安全停止记录。
注意事项
- 权限要求:用户需有
MONITOR
权限组授权。 - 性能影响:高频刷新可能增加负载,生产环境建议间隔 ≥5 秒。
- 数据解读:
- 缓冲池命中率 < 95% 需优化内存。
- 表空间使用率 > 90% 需扩容。
- 退出:按
q
或Ctrl+C
退出交互界面。
替代方案
- 图形化工具:IBM Data Server Manager (DSM)
- 轻量级命令:
db2pd
(非交互式,适合脚本调用)
引用说明基于 IBM DB2 11.5 官方文档(DB2 Monitoring and Tuning Guide)及实战经验整理,确保准确性,工具参数以实际环境为准,建议结合 IBM Knowledge Center 最新文档操作。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5464.html