http://blog.csdn.net/dba_waterbin/article/details/9669929

      ㈠ HugePages简介
     
        HugePages是kernel 2.6引入以便适应越来越大的物理内存
        在Linux下、page size默认是4K、如果使用HugePages、默认是2M
     
        再看2个术语:
        page table 映射表:物理内存和swap的对应关系、访问内存是先读page table、根据表里的映射关系操作
        TLB :cpu cache组件、缓存部分page table以提高转换速度
     
     
     
     ㈡ MySQL 配置大页
     
       好处
     
         ① 提高TLB的命中率
         ② 利用HugePages不会被Swap 的特性保证MySQL内存不会被交换到Swap中
       
       目前在MySQL中HugePages只被InnoDB所支持
       
       以下简单介绍其配置流程

⑴ 配置前:

  1. [root@cdio ~]# cat /proc/meminfo | grep -i huge
  2. HugePages_Total:     0
  3. HugePages_Free:      0
  4. HugePages_Rsvd:      0
  5. Hugepagesize:     2048 kB

⑵ 设置大页数量、每页通常2M、20个就40M、系统要有足够的内存待分配

  1. [root@obe11g ~]# echo 20 > /proc/sys/vm/nr_hugepages

⑶ 增加最大共享内存段的大小、本例12G

  1. [root@obe11g ~]# echo 1560281088 > /proc/sys/kernel/shmmax

⑷ 增加共享内存的大小、每页4K

  1. [root@obe11g ~]# echo 4194304 > /proc/sys/kernel/shmall

⑸ 将mysql用户所属组添加到系统内核中

  1. [root@obe11g ~]# more /proc/sys/vm/hugetlb_shm_group
  2. 0
  3. [root@obe11g ~]# id mysql
  4. uid=501(mysql) gid=501(dba) groups=501(dba)
  5. [root@obe11g ~]# echo 501 > /proc/sys/vm/hugetlb_shm_group

⑹ 再次确认配置情况

  1. [root@obe11g ~]# cat /proc/meminfo | grep -i huge
  2. HugePages_Total:    20
  3. HugePages_Free:     20
  4. Hugepagesize:     4096 kB

⑺ 设置max locked memory

  1. [root@obe11g ~]# cat /etc/security/limits.conf  | grep -i mysql
  2. mysql            hard    memlock         unlimited
  3. mysql            soft    memlock         unlimited

⑻ 配置 my.cnf

  1. [mysqld]
  2. large-pages

⑼ 启动mysqld
     
       ⑽ 观察HugePages 使用情况

  1. [root@obe11g ~]# grep -i huge /proc/meminfo
  2. HugePages_Total:    20
  3. HugePages_Free:     16
  4. Hugepagesize:     4096 kB
 

Linux HugePages及MySQL 大页配置的更多相关文章

  1. Linux关闭透明大页配置

      一.为何要关闭透明大页 A--MOS获取 . #翻译 由于透明超大页面已知会导致意外的节点重新启动并导致RAC出现性能问题,因此Oracle强烈建议禁用透明超大页面. 另外,即使在单实例数据库环境 ...

  2. 大页(huge pages) 三大系列 ---计算大页配置参数

    使用以下shell 脚本来计算大页配置参数,确保使用脚本实例之前的数据已经开始, 如果数据库的版本号11g,确认是否使用自己主动的内存管理(AMM) +++++++++++++++++++++++++ ...

  3. Transparent HugePages(透明大页)

    Transparent HugePages(透明大页) 1. 介绍 从RedHat6, RedHat7, OL6, OL7 SLES11 and UEK2 kernels开始,透明大页默认是被开启的以 ...

  4. Windows连接Linux服务器中MySQL数据库-权限配置

    问题描述 在Windows系统中安装了监控MySQL数据库服务器性能的工具Spotlight on MySQL,利用Spotlight连接Linux服务器中的MySQL,进行相关配置如下:   点击& ...

  5. Linux CentOS下MySQL的安装配置之浅谈

    前期必备安装:VMware虚拟机,CentOS镜像[注意:Linux下使用CentOS   MySQL是不用在官网下载的,只需要配置就OK了] 下面开始正式操作: //CentOS安装MySQL之浅谈 ...

  6. Linux平台下mysql的ODBC配置方法

    在安装配置之前, 需要先大概了解一下MyODBC的架构. MyODBC体系结构建立在5个组件上,如下图所示: Driver Manager: 负责管理应用程序和驱动程序间的通信, 主要功能包括: 解析 ...

  7. Linux上安装MySQL及其基础配置

    本文主要介绍Linux下使用yum安装MySQL,以及启动.登录和远程访问MySQL数据库. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | gr ...

  8. 【宝塔linux】 导入mysql 大文件失败的问题

    导入数据库有四种方法 1.宝塔网站自带的数据库导入 2.phpmyadmin导入 3.远程到linux服务器用导入命令 使用xshell进入到控制台 1.首先建空数据库 mysql>create ...

  9. Linux环境下mysql安装并配置远程访问

    环境:centOS 1.下载mysql安装文件 [root@localhost ~]# wget http://dev.mysql.com/get/mysql-community-release-el ...

随机推荐

  1. Socket编程(九)

    此为网络编程的一个系列,后续会把内容补上.....

  2. UVA 12661 Funny Car Racing 有趣的赛车比赛(最短路,变形)

    题意:赛道有n个交叉点,和m条单向路径(有重边),每条路都是周期性关闭的,且通过仍需一段时间.在比赛开始时,所有道路刚好打开,选择进入该道路必须满足“在打开的时间段进入,在关闭之前出来”,即不可在路上 ...

  3. js变量作用域

    for(var i =0;i<100;i++) { } alert(i);//100 if(true){ var i="91d"; } alert(i);//91d func ...

  4. SharePoint 2010 获取当前用户的权限

    转:http://blog.csdn.net/sygwin_net/article/details/6790500 操作环境:SharePoint 2010 关于SharePoint 的权限架构,具体 ...

  5. How to cancel parallel loops in .NET C# z

    Cancellation token Parallel options CancellationTokenSource cancellationTokenSource = new Cancellati ...

  6. [OFBiz]简介 二

    1. 执行ant run-install后,生成了55个ofbiz的jar.加上最初的E:\apache-ofbiz-10.04\framework\entity\lib\ofbiz-minerva. ...

  7. LWIP互联网资料汇总

    本文主要搜集了下互联网上关于LWIP的资料和教程 欢迎补充 第一部分:移植 LWIP在UCOS上移植 LWIP 在STM32上移植   http://www.docin.com/p-459242028 ...

  8. nginx log_format指令记录自定义响应头

    我们用的nginx有做过一些定制开发,为了调试方便,加了一些自定义的response header,那么如何把这个自定义头记录到日志中以便于观察呢? nginx log_format指令支持这种扩展, ...

  9. C++ 顺序表

    C++ 顺序表 /***1顺序表1.必做题 编写程序建立一个数续表,并逐个输出顺序表中所有数据元素的值.编写主函数测试结果. 编写顺序表定位操作子函数,在顺序表中查找是否存在数据元素x. 如果存在,返 ...

  10. POJ2411 - Mondriaan's Dream(状态压缩DP)

    题目大意 给定一个N*M大小的地板,要求你用1*2大小的砖块把地板铺满,问你有多少种方案? 题解 刚开始时看的是挑战程序设计竞赛上的关于铺砖块问题的讲解,研究一两天楞是没明白它代码是怎么写的,智商捉急 ...