Heim >Datenbank >MySQL-Tutorial >Linux HugePages及MySQL大页配置_MySQL

Linux HugePages及MySQL大页配置_MySQL

WBOY
WBOYOriginal
2016-06-01 13:31:231184Durchsuche

bitsCN.com

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所支持

       

       以下简单介绍其配置流程

       

       ⑴ 配置前:[plain] [root@cdio ~]# cat /proc/meminfo | grep -i huge  HugePages_Total:     0  HugePages_Free:      0  HugePages_Rsvd:      0  Hugepagesize:     2048 kB         ⑵ 设置大页数量、每页通常2M、20个就40M、系统要有足够的内存待分配[plain] [root@obe11g ~]# echo 20 > /proc/sys/vm/nr_hugepages         ⑶ 增加最大共享内存段的大小、本例12G[plain] [root@obe11g ~]# echo 1560281088 > /proc/sys/kernel/shmmax         ⑷ 增加共享内存的大小、每页4K[plain] [root@obe11g ~]# echo 4194304 > /proc/sys/kernel/shmall         ⑸ 将mysql用户所属组添加到系统内核中[plain] [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         ⑹ 再次确认配置情况[plain] [root@obe11g ~]# cat /proc/meminfo | grep -i huge  HugePages_Total:    20  HugePages_Free:     20  Hugepagesize:     4096 kB         ⑺ 设置max locked memory[plain] [root@obe11g ~]# cat /etc/security/limits.conf  | grep -i mysql  mysql            hard    memlock         unlimited  mysql            soft    memlock         unlimited         ⑻ 配置 my.cnf[plain] [mysqld]  large-pages         ⑼ 启动mysqld            ⑽ 观察HugePages 使用情况[plain] [root@obe11g ~]# grep -i huge /proc/meminfo  HugePages_Total:    20  HugePages_Free:     16  Hugepagesize:     4096 kB  

 


bitsCN.com
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn