返回首页

gbase数据、南大通用产品文档:GBase8sVPCLASS 配置参数

更新日期:2024年09月11日

使用 VPCLASS 配置参数来创建和配置虚拟处理器。
onconfig.std 值
UNIX™ : VPCLASS cpu,num=1,noage
Windows™ :
VPCLASS cpu,num=1,noage
#VPCLASS aio,num=1
#VPCLASS jvp,num=1

最多 128 字节字符。每一 VPCLASS 配置参数值必须是唯一的,以一个字母或下划线开头,
且仅包含数字、字母、下划线或 $ 字符。不包括空格。请参阅“用法”部分。
分隔符
以逗号分隔每一域。
生效

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 172 -

编辑 onconfig 文件并重启数据库服务器之后。
用法
您可在 onconfig 文件中添加多个 VPCLASS 配置参数条目。每一 VPCLASS 配置参数必须
描述一个不同的虚拟处理器类。每一定义置于单独的行上。
VPCLASS 配置参数的语法

CPU CLASS

表 1. VPCLASS 配置参数值的选项


class
class 值是虚拟处理器类的名称。数据库服务器根据需要启动大多
数虚拟处理器。典型地,您可能为 CPU、AIO、JVP 和用户定义的虚
拟处理器类设置 VPCLASS 配置参数。
虚拟处理器类名不区分大小写。
要查看类名称的列表,请参阅虚拟处理器的类型。
user_defined
user_defined 值是您为用户定义的例程创建的虚拟处理器类名称。
请确保 SINGLE_CPU_VP 配置参数设置为 0。
autotune
指定数据库服务器是否根据需要为指定的类添加虚拟处理器来提高
性能,如果包括 max 选项,则最多达 max 选项的值。
l autotune=0 防止自动添加虚拟处理器
l autotune=1 启用虚拟处理器的自动添加

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 173 -



如果该类是 cpu,则自动地添加的任何 CPU 虚拟处理器都没有
affinity。忽略 aff 选项。
cpu
指定 CPU 虚拟处理器类。
num
number_vps 值设置指定类的虚拟处理器数目,当数据库服务器启动
时数据库服务器启动这个类。缺省值是 1。cpu 和 aio 虚拟处理器
类的值域是 1
-
10000。所有其他虚拟处理器类的值域是 0
-
10000。

您可使用 onmode -p 命令来为当前会话的类添加虚拟处理器。
max
maximum 值指定数据库服务器可为该类启动的虚拟处理器的最大数
目。
该值可为大于 0 的任何整数。
缺省情况下,
该数目是无限制的。

aff
在支持处理器 affinity 的多处理器计算机上,aff 选项指定数据
库服务器绑定 CPU 虚拟处理器的那些 CPU。操作系统将这些 CPU
编号,从 0 至小于 CPU 数目的一个数。缺省情况下,以轮转法方
式将CPU 虚拟处理器分派到可用处理器。aff 选项为一个或多个整
数:
l processor = 将 CPU 虚拟处理器绑定到得那个 CPU 编号。
CPU 编号可以任何顺序罗列。
l start = CPU 编号范围的起始。
l end = CPU 编号范围的终止。
l increment = 指定在一个使用的范围中 CPU 编号的因子。
例如,aff=(1-5/2) 指定使用 CPU 编号 1、3 和 5。
noage
如果操作系统实现优先级 aging,则对于 CPU 虚拟处理器禁用优先
级 aging。缺省情况下,优先级 aging 有效。
noyield
指定用户定义的虚拟处理器类不 yield,允许 C UDR yield 给其他
需要访问用户定义的虚拟处理器类的线程。缺省情况下,用户定义
的虚拟处理器的线程 yield。
非 yielding 用户定义的虚拟处理器类以一种方式运行用户定义的
线程,即给线程排他使用虚拟处理器类。使用非 yield 虚拟处理器
类的用户定义的线程串行地运行,且从不将该虚拟处理器 yield 给
另一个线程。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 174 -



因为 UDR 运行在单个虚拟处理器上直到完成,且任何附加的虚拟处
理器都会空闲,所以在非 yielding 用户定义的虚拟处理器类中仅
指定一个虚拟处理器。
这些选项可以任何顺序出现,以逗号分隔。
使用 onmode -p 命令来动态地添加或移除当前数据库会话的虚拟处理器。onmode -p 命令
不更新 onconfig 文件。
CPU 虚拟处理器
在单处理器计算机上,
仅分配一个 CPU 虚拟处理器。
在多处理器计算机上,
分配的 CPU 虚
拟处理器加上用户定义的虚拟处理器的总数目最多达到计算机上的 CPU 数。
当数据库服务器启动时,CPU 虚拟处理器的数目自动地增加到数据库服务器计算机上 CPU
处理器数目的一半,除非启用 SINGLE_CPU_VP 配置参数。
如果包括 autotune 选项,则数据库服务器根据需要添加 CPU 虚拟处理器来提高性能,最
多达到计算机上的 CPU 数。
当数据库服务器自动地添加 CPU 虚拟处理器时,
不更新 CPU 类 VPCLASS 配置参数的 num
选项。
您可配置处理器 affinity 和是否允许 aging。例如,下列条目创建绑定到 CPU 编号 7、
8、9 和 10 的四个 CPU 虚拟处理器,且不受优先级 aging 的影响:
VPCLASS CPU,num=4,aff=(7-10),noage
AIO 虚拟处理器
使用 AIO 虚拟处理器类的 VPCLASS 配置参数条目来指定 AIO 虚拟处理器的确切数目,

启用数据库服务器来根据需要添加 AIO 虚拟处理器。
当没有为 AIO 虚拟处理器类设置 VPCLASS 配置参数条目时,
由 AUTO_AIOVPS 配置参数的
设置确定 AIO 虚拟处理器的数目,且限定到 128:
l 如果 AUTO_AIOVPS 设置为 1(开),则初始启动的 AIO 虚拟处理器数目等于 AIO
chunk 的数目。
l 如果 AUTO_AIOVPS 设置为 0
(关)

则启动的 AIO 虚拟处理器数目等于 6 或 AIO
chunk 的数目之中较大的一个。
Java™ 虚拟处理器
如果您使用 Java 用户定义的例程或 Java 应用,则通过为 JVP 虚拟处理器类添加
VPCLASS 配置参数条目,创建至少一个 Java 虚拟处理器。如果您设置 JVP 的数目为零,
或如果没有 JVP 类的 VPCLASS 参数,则您不可运行 Java UDR。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 175 -

使用 onmode -F 命令释放未使用的内存段,这些段不可用或进程已不再需要。
语法:

元素
用途
关键注意事项

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 363 -

元素
用途
关键注意事项
-F
释放未使用的内存



在执行 onmode -F 时,内存管理器检查每个内存池的未使用内存。当内存管理器找到未使
用内存块时,它立即释放该内存。在内存管理器检查了每个内存池之后,它开始检查内存
段并释放数据库服务器不再需要的所有段。
建议在数据库服务器执行了任何创建额外内存段的功能(包括大索引构建、排序或备份)
之后从操作系统调度工具定期运行 onmode -F。
运行 onmode -F 会造成执行该实用程序时处于活动状态的所有用户的显著性能降级。尽管
执行时间很短(1 到 2 秒),但对于用户数据库服务器的降级可能达到 100%。具有多个
CPU 虚拟处理器的系统经历的降级成比例地减小。
要确认 onmode 已释放了未使用内存,请检查消息日志。如果内存管理器释放了一个或多
个段,那么它显示一条标识已释放了多少内存段和字节的消息。
该命令有等同的 SQL 管理 API 函数。

查询操作符的优先级
查询时,可以组合使用表达句法中的操作符,操作符的优先级如下:
优先级
同一行内优先级相同
高《——》低
/
^ $
"" near ()
|
-
&
说明

查询内容缺省为与运算,例如'aaa bbb'等价于'aaa & bbb';

或运算级别高于与运算,例如'aaa & bbb | ccc'等价于'aaa & (bbb |
ccc)';

单独的非查询内容,
没有任何意义,
搜索引擎不执行对应查询,例如
'-bbb',引擎不予查询;

空格的特殊性,在查询语句中,除了&|-^$()运算字符外,连续的字
符都作为一个整体,仅空格作为分隔标识,如“天津-北京” 等
价与“(天津)-(北京)”。创建全文索引时,英文之间的空格作为词
的分隔符但是不计算占位符,例如“the great” 为the 和great 两个
词,词距为2;对于中文之间的空格则计算占位符,例如“天津”
中文,天津两个字的词距为3;

标点符号目前不参与索引和搜索,仅在索引时起到占位符的作用。
计算词距时会计算标点符号。