Using mlock ulimits for SHM_HUGETLB is deprecated

 

Using mlock ulimits for SHM_HUGETLB is deprecated

前言

刚检查一个集群数据库的系统日志,发现如下信息:

/var/log/message,

[root@dev-rac02 ~]# tail -1 /var/log/messages 
Jul  1 15:17:24 dev-rac02 kernel: oracle (4768): Using mlock ulimits for SHM_HUGETLB is deprecated

 

dmesg,

[root@dev-rac02 ~]# dmesg | tail  -1
oracle (4768): Using mlock ulimits for SHM_HUGETLB is deprecated

 

 

原因

是由于少配置了hugetlb_shm_group参数导致。

(vm.hugetlb_shm_group 参数设置为有权使用 HugePages 的操作系统组。默认情况下,此参数设置为 0,

从而允许所有组使用 HugePages。可以将此参数设置为 Oracle 数据库进程所属的操作系统组,如 oinstall),

在本系统中在sysctl.conf中增加vm.hugetlb_shm_group=1000,然后重启系统。

另外,不设置此参数也可能引起ORA-27125报错。

以后这个系统参数还是作为Oracle服务器安装搭建的标准化之一吧。

 

解决

根据mos文档,

How To Add a non-root group to hugetlb_shm_group in Oracle Linux (Doc ID 2491966.1)

Oracle Linux 6 Release Notes (Doc ID 1292376.1)

[root@dev-rac01 ~]# id -g oracle
1000
[root@dev-rac01 ~]# id -g grid
1000
[root@dev-rac01 ~]# echo 1000 > /proc/sys/vm/hugetlb_shm_group
[root@dev-rac01 ~]# sysctl -w vm.hugetlb_shm_group=1000
vm.hugetlb_shm_group = 1000
[root@dev-rac01 ~]# echo "vm.hugetlb_shm_group=1000" >> /etc/sysctl.conf 

 

所有节点都执行相同操作即可。

 

其他的参考链接:

http://www.xifenfei.com/2018/03/shm_hugetlb-deprecated.html

https://www.eygle.com/archives/2011/12/hugepageshugetl.html

 

posted @ 2020-07-02 17:16  PiscesCanon  阅读(116)  评论(0编辑  收藏