Welcome 微信登录

首页 / 数据库 / MySQL / 如何不让Oracle使用Linux的swap分区

经常看到swap分区被使用,被缓存的内容本来是为了增加命中率,结果去不断换入换出,导致本地磁盘IO增加,影响访问速度。所以在内存充足的情况下,如果我们觉得不需要使用swap分区的时候,那就要想办法尽量避免使用swap。我的环境大部分都是Oracle数据库服务器,linux+oracle是常见组合,这里针对这个背景做一下分析。1、hugepage功能使用hugepages之后可以避免SGA被swap。直接使用hugepages技术就可以,不要使用lock_sga和pre_page_sga参数,具体原因如下:1). 根据文档 note 957525.1 和文档 note 1276966.1,启动PRE_PAGE_SGA会引发如下问题:a) 初始连接到数据库变慢b) RAC node频繁crash,如果没有使用hugepage2). 而根据文档 note 1274096.1,再使用hugepages之后就不需要再起用lock_sga参数3.)可以参考的文档您可以参照文档:HugePages on Oracle Linux 64-bit(NOTE:361468.1)HugePages on Linux: What It Is... and What It Is Not...(Note: 361323.1)2、swappiness参数简单地说这个参数定义了系统对swap的使用倾向,默认值为60,值越大表示越倾向于使用swap。可以设为0,这样做并不会禁止对swap的使用,只是最大限度地降低了使用swap的可能性。通过sysctl -q vm.swappiness可以查看参数的当前设置。修改参数的方法是修改/etc/sysctl.conf文件,加入vm.swappiness=xxx,并重起系统。如果不想重起,可以通过sysctl -p动态加载/etc/sysctl.conf文件,但建议这样做之前先清空swap。事实上,使用hugepages之后可以避免SGA被swap, 但是如果引发swap分区使用的不是oracle SGA而是PGA或者过多的文件系统缓存,那么实际上对于您的swap/IO的问题可能并不能完全解决。这时候,用swappiness参数就可以更好地环节该问题。3、找出元凶,杀之如果上述方法都还不行,那你可以联系系统管理员来分析具体是哪一部分占用了过多的内存而引发swap,想办法停止那些进程或任务。推荐阅读:Oracle基础教程之通过RMAN复制数据库 http://www.linuxidc.com/Linux/2013-07/87072.htmRMAN备份策略制定参考内容 http://www.linuxidc.com/Linux/2013-03/81695.htmRMAN备份学习笔记 http://www.linuxidc.com/Linux/2013-03/81892.htmOracle数据库备份加密 RMAN加密 http://www.linuxidc.com/Linux/2013-03/80729.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12MySQL数据库运维的五大指标Oracle数据仓库部署注意事项(OLAP)相关资讯      swap分区  Oracle swap分区 
  • Linux学习笔记:swap分区  (11/22/2015 11:41:22)
  • 如何扩展/删除swap分区  (03/16/2014 16:26:52)
  • Linux SWAP 分区建立及释放内存  (03/29/2013 13:21:51)
  • CentOS/Linux 添加SWAP分区  (02/11/2015 14:22:50)
  • Linux SWAP 交换分区配置说明  (03/31/2013 08:40:31)
  • 在嵌入式设备中不创建swap分区的原  (05/15/2007 06:27:42)
本文评论 查看全部评论 (0)
表情: 姓名: 字数