返回首页

gbase数据、南大通用产品文档:GBase8s使用命令行实用程序监视虚拟处理器

更新日期:2024年09月11日

可以使用以下 onstat -g 选项来监视虚拟处理器:

onstat -g ath 命令

onstat -g glo 命令

onstat -g ioq 命令

onstat -g rea 命令
onstat -g ath 命令
onstat -g ath 命令显示了有关系统线程和虚拟处理器类的信息。
onstat -g glo 命令
使用 onstat -g glo 命令可显示有关当前正在运行的每个虚拟处理器的信息,以及有关每个
虚拟处理器类的累积统计信息。有关 onstat -g glo 输出的示例,请参阅《GBase 8s 管理
员参考》中有关 onstat 实用程序的信息。
onstat -g ioq 命令
使用 onstat -g ioq 选项可确定是否必须分配更多虚拟处理器。命令 onstat -g ioq 显示有关
I/O 队列的长度和其他统计信息。
如果 I/O 队列的长度不断增加,那么 I/O 请求的累积速度将超过 AIO 虚拟处理器处理
请求的速度。如果 I/O 队列的长度继续显示 I/O 请求不断累积,那么考虑添加 AIO 虚
拟处理器。
有关 onstat -g ioq 输出的示例,请参阅《GBase 8s 管理员参考》中的信息。
onstat -g rea 命令
使用 onstat -g rea 选项监视就绪的队列中的线程数。如果在就绪队列中虚拟处理器类(例
如,CPU 类)的线程数量不断增加,那么可能需要将更多此类虚拟处理器添加到配置
中。
有关 onstat -g rea 输出的示例,请参阅《GBase 8s 管理员参考》中的信息。
使用 SMI 表监视虚拟处理器

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 107 -
查询 sysvpprof 表以获得有关当前正在运行的虚拟处理器的信息。此表包含以下各列。

描述
vpid
虚拟处理器的标识号
class
虚拟处理器类
usercpu
用户 CPU 已用分钟数
syscpu
系统 CPU 已用分钟数

系统中有些SQL 语句运行了很长时间还没有结束,这些语句会消耗很多的系统性能,
请根据本章内容查询长时间运行的SQL 语句。
操作步骤

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
519
(1)
以操作系统用户gbase 登录数据库节点。
(2)
使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库节点的端口号。
连接成功后,系统显示类似如下信息:
gsql ((GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0 last mr
55 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gsql=#
(3)
查询系统中长时间运行的查询语句。
SELECT current_timestamp - query_start AS runtime, datname, usename, query FROM
pg_stat_activity where state != 'idle' ORDER BY 1 desc;
查询后会按执行时间从长到短顺序返回查询语句列表,
第一条结果就是当前系统中执行
时间最长的查询语句。返回结果中包含了系统调用的SQL 语句和用户执行SQL 语句,请根
据实际找到用户执行时间长的语句。
若当前系统较为繁忙,可以通过限制current_timestamp - query_start 大于某一阈值来查
看执行时间超过此阈值的查询语句。
SELECT query FROM pg_stat_activity WHERE current_timestamp - query_start > interval '1
days';
(4)
设置参数track_activities 为on。
SET track_activities = on;
当此参数为on 时,数据库系统才会收集当前活动查询的运行信息。
(5)
查看正在运行的查询语句。
以查看视图pg_stat_activity 为例:
SELECT datname, usename, state FROM pg_stat_activity;
datname
| usename | state
|
----------+---------+--------+
postgres |
gbase
| idle
|
postgres |
gbase
| active |
(2 rows)

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
520
如果state 字段显示为idle,则表明此连接处于空闲,等待用户输入命令。
如果仅需要查看非空闲的查询语句,则使用如下命令查看:
SELECT datname, usename, state FROM pg_stat_activity WHERE state != 'idle';
(6)
分析长时间运行的查询语句状态。
若查询语句处于正常状态,则等待其执行完毕。
若查询语句阻塞,则通过如下命令查看当前处于阻塞状态的查询语句:
SELECT datname, usename, state, query FROM pg_stat_activity WHERE waiting = true;
查询结果中包含了当前被阻塞的查询语句,
该查询语句所请求的锁资源可能被其他会话
持有,正在等待持有会话释放锁资源。
只有当查询阻塞在系统内部锁资源时,
waiting 字段才显示为true。
尽管等待锁资源是数
据库系统最常见的阻塞行为,但是在某些场景下查询也会阻塞在等待其他系统资源上,
例如写文件、
定时器等。
但是这种情况的查询阻塞,
不会在视图pg_stat_activity 中体现。

这些主题描述了用于准备外部备份的命令。有关过程的信息,请参阅执行外部备份。

阻塞和取消阻塞 GBase 8s
本部分介绍 block 和 unblock 命令的语法。

元素
用途
关键注意事项
-c
执行检查点并阻塞或取消阻塞数据
库服务器
无。
block
阻止数据库服务器执行任何事务
设置数据库服务器以进行外部备份。当
数据库服务器被阻塞时,用户可采用只
读方式进行访问。样本命令:onmode -c
block
unblock
取消阻塞数据库服务器,从而允许
数据事务和正常的数据库服务器操
作可以继续进行
在外部备份完成前请勿取消阻塞。样本
命令:onmode -c unblock


GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 164 -
跟踪外部备份
数据库服务器和 ontape 不会跟踪外部备份。
要跟踪外部备份数据,
请使用第三方存储管理
器或手动跟踪数据。下表显示了建议您在外部备份中跟踪的项。
表 1. 使用外部备份与恢复时要跟踪的项
要跟踪的项
示例
每个已备份存储空间的各个块文件的
完整路径名
UNIX™:/work/dbspaces/rootdbs
对象类型
关键数据库空间、非关键存储空间
ins_copyid_hi 和 ins_copyid_lo
存储管理器分配给每个备份对象的副本标识
备份日期和时间
阻塞和取消阻塞数据库服务器的时间
备份介质
磁带卷编号或磁盘路径名
数据库服务器版本
V8.8