Welcome 微信登录

首页 / 数据库 / MySQL / Linux HugePages及MySQL 大页配置

 ㈠ 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所支持以下简单介绍其配置流程⑴ 配置前:[root@cdio ~]# cat /proc/meminfo | grep -i huge
HugePages_Total:   0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:   2048 kB⑵ 设置大页数量、每页通常2M、20个就40M、系统要有足够的内存待分配[root@obe11g ~]# echo 20 > /proc/sys/vm/nr_hugepages ⑶ 增加最大共享内存段的大小、本例12G[root@obe11g ~]# echo 1560281088 > /proc/sys/kernel/shmmax⑷ 增加共享内存的大小、每页4K[root@obe11g ~]# echo 4194304 > /proc/sys/kernel/shmall⑸ 将mysql用户所属组添加到系统内核中[root@obe11g ~]# more /proc/sys/vm/hugetlb_shm_group
0
[root@obe11g ~]# id mysql
uid=501(mysql) gid=501(dba) groups=501(dba)
[root@obe11g ~]# echo 501 > /proc/sys/vm/hugetlb_shm_group⑹ 再次确认配置情况[root@obe11g ~]# cat /proc/meminfo | grep -i huge
HugePages_Total:    20
HugePages_Free:   20
Hugepagesize:   4096 kB⑺ 设置max locked memory[root@obe11g ~]# cat /etc/security/limits.conf  | grep -i mysql
mysql            hard    memlock       unlimited
mysql            soft    memlock       unlimited⑻ 配置 my.cnf[mysqld]
large-pages ⑼ 启动mysqld⑽ 观察HugePages 使用情况[root@obe11g ~]# grep -i huge /proc/meminfo
HugePages_Total:    20
HugePages_Free:   16
Hugepagesize:   4096 kB推荐阅读:Linux HugePages 配置 与 Oracle 性能关系说明 http://www.linuxidc.com/Linux/2013-01/78467p6.htmLinux 下 Hugepages的配置 http://www.linuxidc.com/Linux/2011-12/49577p2.htmHugepages使用出现kswapd导致系统负载突然上升 http://www.linuxidc.com/Linux/2012-07/64538.htm启用密码管理之前创建的用户连接Oracle报ORA-28002处理一则突破MySQL视图限制:获取创建视图的SQL语句相关资讯      HugePages  Linux MySQL配置 
  • Linux 11G RAC启用HugePages与AMM  (04月22日)
  • 在Oracle 11.2.0.3.0上开启大页(  (02/18/2014 10:22:24)
  • 使用HugePages优化内存性能  (03/06/2015 11:57:27)
  • Linux HugePages 配置 与 Oracle   (01/24/2013 10:11:09)
本文评论 查看全部评论 (0)
表情: 姓名: 字数