返回首页

gbase数据、南大通用产品文档:GBase8sonmode F: 释放未使用的内存段

更新日期:2024年09月11日


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 365 -
使用 onmode -F 命令释放未使用的内存段,这些段不可用或进程已不再需要。
语法:

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



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




sword GCILobTrim2(
GCISvcCtx *svchp,
GCIError *errhp,
GCILobLocator *locp,
gbsub8 newlen
);


将 LOB 值截断为较短的长度。如果 newlen 大于当前 LOB 长度,则该函数将返回错误


参数
输入
/输出


svchp
输入/输出
该接口内会自动生成一个当前环境句柄下的上下文句柄,并将
地址保存到该指针
errhp
输入
错误信息句柄,该接口调用失败时将错误码及错误信息写入该
句柄
locp
输入/输出
存储大对象描述符句柄
newlen
输出
大对象数据截断后的长度,一般该长度需要小于或等于现有大
对象长度。对于CLOB,它是字符数;对于BLOB,它是字节数

如果执行成功,返回GCI_SUCCESS,否则返回GCI_ERROR。

unix_socket_permissions
参数说明:设置Unix 域套接字的访问权限。
Unix 域套接字使用普通的Unix 文件系统权限集。这个参数的值应该是数值的格式
(chmod 和umask 命令可接受的格式)。如果使用自定义的八进制格式,数字必须以0 开
头。
建议设置为0770(只有当前连接数据库的用户和同组的人可以访问)或者0700(只有
当前连接数据库的用户自己可以访问,同组或者其他人都没有权限)。
该参数属于POSTMASTER 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:0000-0777
默认值:0777
说明:在Linux 中,文档具有十个属性,其中第一个属性为文档类型,后面九个
为权限属性,分别为Owner、Group 及Others 这三个组别的read、write、execute 属性。
文档的权限属性分别简写为r、w、x,这九个属性三个为一组,也可以使用数字来表示
文档的权限,对照表如下:

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1158
r:4
w:2
x:1
-:0
同一组(owner/group/others)的三个属性是累加的。
例如,-rwxrwx—表示这个文档的权限为:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = — = 0+0+0 = 0
所以其权限为0770。