首页 > 代码库 > Oracle数据库所在服务器swap严重
Oracle数据库所在服务器swap严重
今天Nagios监控发现一台Oracle数据库服务器swap严重,导致部分Nagios监控项超时报警
查看该服务器,swap空间设置为32G,已使用19G,使用率非常高,并且,vmstat显示si严重
此服务器物理内存32G,SGA设置20G,连接数不高,即使设置不当,也不应该出现如此严重的swap
cat /proc/meminfo
发现此服务器设置了HugePage,但状态均为Free
我们知道HugePage设置后,即使不使用它,所占的内存空间也不能被其他进程使用,并且,HugePage是pin在物理内存空间的,不会被swap,也就意味着32G物理内存,其实只有12G可用,难怪这么高的swap
那么,为什么会出现这个问题呢?之前为什么没有出现这个问题?
原因在于,此服务器在2个月前曾被重启,之前工程师在启动Oracle之前运行了ulimit -l unlimited,而2个月前重启的工程师不知道开启了HugePage,直接用标准模式重启了Oracle。由于操作系统limit配置的问题,导致无法使用HugePage
解决方法很简单
1.启动Oracle前,执行ulimit -l unlimited
2.修改/etc/security/limits.conf
增加:
oracle soft memlock -1
oracle hard memlock -1
[@more @]
Oracle数据库所在服务器swap严重
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。