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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?