limit配置:/etc/security/limits.conf
* soft memlock 3145728
* hard memlock 3145728
查看大页使用情况:
cat /proc/meminfo |grep HugePages
如下图,有问题和正常情况下的对比:
正常进程,是用root用户集群自动启动,异常节点使用oracle用户启动,用ps -ef|grep smon查看出来进程,检查进程(cat /proc/进程号/limits)显示:
oracle用户限制,内存限制3G,limit中max locked memory (kbytes, -l) 3145728,在oracle用户下,ulimit -a检查:
异常内存显示:
free -m
正常情况下buff/cache是比较小的,才20G样子,这个达到300多G,正常如下:
修改/etc/security/limits.conf中memlock为unlimited,重启实例恢复。