• OS + Linux HugePages / Mysql largepages


    s

    Linux HugePages及MySQL 大页配置

    https://www.cnblogs.com/zengkefu/p/5655057.html

    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  
     

    end

  • 相关阅读:
    第八周上机作业
    第七周课后作业
    第七周上机作业
    第六周课后作业
    第六周上机
    第九周JAVA
    第八周JAVA
    第8次JAVA作业
    第七周JAVA
    第7周JAVA
  • 原文地址:https://www.cnblogs.com/lindows/p/16371445.html
Copyright © 2020-2023  润新知