398 Star 1.4K Fork 1.5K

GVPopenGauss / openGauss-server

 / 详情

【测试类型:工具功能】【测试版本:5.1.0】 x86centos系统,大页内存开启,配置huge_page_size为非系统支持的大页大小,重启集群,未正常抛错

已验收
缺陷
创建于  
2023-06-19 21:00

【标题描述】: x86centos系统,大页内存开启,配置huge_page_size为非系统支持的大页大小,重启集群,未正常抛错
【测试类型:内存管理】【测试版本:5.1.0】 x86centos系统,大页内存开启,配置huge_page_size为非系统支持的大小,重启集群,未正常抛错

【操作系统和硬件信息】(查询命令: cat /etc/system-release, uname -a):
CentOS Linux release 7.9.2009 (Core)

【测试环境】(单机/1主x备x级联备):
单机

【被测功能】:
大页内存

【测试类型】:
功能测试

【数据库版本】(查询命令: gaussdb -V):
gaussdb (openGauss 5.1.0 build a74b7333) compiled at 2023-06-19 09:39:14 commit 0 last mr

【预置条件】:

  1. 数据库功能正常
  2. 系统配置大页数量足够大
    echo 4472> /sys/kernel/mm/hugepages/hugepages-xxxxkB/nr_hugepages
    cat /sys/kernel/mm/hugepages/hugepages-xxxxkB/nr_hugepages
  3. 配置使用大页内存属组
    id username #获取用户组id
    sysctl -w vm.hugetlb_shm_group=xxxx #配置数据库用户属组大页使用权限

【操作步骤】(请填写详细的操作步骤):

  1. 设置大页内存开关及大小(ls /sys/kernel/mm/hugepages,设置值非系统支持大页大小)
    gs_guc set -D /openGauss/peilq_centos1/cluster/dn1/ -c 'enable_huge_pages=on'
    gs_guc set -D /openGauss/peilq_centos1/cluster/dn1/ -c 'huge_page_size=1024kB'
  2. 重启数据库

【预期输出】:

  1. 设置大页内存开关及大小,设置成功
  2. 重启数据库,重启失败

【实际输出】:

  1. 设置大页内存开关及大小,设置成功
  2. 重启数据库,重启成功

【原因分析】:

  1. 在设置页面大小的时候用到了内核头文件的某个宏,部分操作系统比如centos7的内核版本比较旧,没有这个宏。这个场景会导致最终申请共享内存设置的flag的值错误,导致1024kB也可以以2048kB的页面启动

【日志信息】(请附上日志文件、截图、coredump信息):
输入图片说明
输入图片说明
【测试代码】:

评论 (3)

裴琳倩 创建了缺陷
裴琳倩 添加协作者周斌
展开全部操作日志

Hey @裴琳倩, Welcome to openGauss Community.
All of the projects in openGauss Community are maintained by @opengauss_bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at Here to find the details.

Hi @裴琳倩, please use the command /sig xxx to add a SIG label to this issue.
For example: /sig sqlengine or /sig storageengine or /sig om or /sig ai and so on.
You can find more SIG labels from Here.
If you have no idea about that, please contact with @xiangxinyong , @zhangxubo .

pengjiong 取消协作者周斌
pengjiong 添加协作者pengjiong
zhangzhixian 任务状态待办的 修改为已确认
zhangzhixian 任务状态已确认 修改为修复中
pengjiong 组织设置为已提PR
pengjiong 计划开始日期设置为2023-06-25
pengjiong 计划截止日期设置为2023-06-26
zhangzhixian 通过opengauss/openGauss-server Pull Request !3602任务状态修复中 修改为已完成
裴琳倩 修改了标题

验收版本:gsql (openGauss 5.1.0 build d65e08d5) compiled at 2023-07-26 00:10:37 commit 0 last mr
验收结论:通过
输入图片说明
输入图片说明
修改正确,数据库重启成功
输入图片说明

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
13084139 opengauss bot 1686829535
C++
1
https://gitee.com/opengauss/openGauss-server.git
git@gitee.com:opengauss/openGauss-server.git
opengauss
openGauss-server
openGauss-server

搜索帮助