Linux HugePages及MySQL 大页配置

来源:互联网 发布:数据库中存放应用日志 编辑:程序博客网 时间:2024/05/03 11:26

Linux HugePages及MySQL 大页配置


http://www.linuxidc.com/Linux/2013-08/88227.htm


㈠ 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 hugeHugePages_Total:    0HugePages_Free:      0HugePages_Rsvd:      0Hugepagesize:    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_group0[root@obe11g ~]# id mysqluid=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 hugeHugePages_Total:    20HugePages_Free:    20Hugepagesize:    4096 kB⑺ 设置max locked memory[root@obe11g ~]# cat /etc/security/limits.conf  | grep -i mysqlmysql            hard    memlock        unlimitedmysql            soft    memlock        unlimited⑻ 配置 my.cnf[mysqld]large-pages ⑼ 启动mysqld⑽ 观察HugePages 使用情况[root@obe11g ~]# grep -i huge /proc/meminfoHugePages_Total:    20HugePages_Free:    16Hugepagesize:    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



0 0
原创粉丝点击