Linux HugePages及MySQL 大页配置
http://blog.csdn.net/dba_waterbin/article/details/9669929
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及MySQL 大页配置的更多相关文章
- Linux关闭透明大页配置
一.为何要关闭透明大页 A--MOS获取 . #翻译 由于透明超大页面已知会导致意外的节点重新启动并导致RAC出现性能问题,因此Oracle强烈建议禁用透明超大页面. 另外,即使在单实例数据库环境 ...
- 大页(huge pages) 三大系列 ---计算大页配置参数
使用以下shell 脚本来计算大页配置参数,确保使用脚本实例之前的数据已经开始, 如果数据库的版本号11g,确认是否使用自己主动的内存管理(AMM) +++++++++++++++++++++++++ ...
- Transparent HugePages(透明大页)
Transparent HugePages(透明大页) 1. 介绍 从RedHat6, RedHat7, OL6, OL7 SLES11 and UEK2 kernels开始,透明大页默认是被开启的以 ...
- Windows连接Linux服务器中MySQL数据库-权限配置
问题描述 在Windows系统中安装了监控MySQL数据库服务器性能的工具Spotlight on MySQL,利用Spotlight连接Linux服务器中的MySQL,进行相关配置如下: 点击& ...
- Linux CentOS下MySQL的安装配置之浅谈
前期必备安装:VMware虚拟机,CentOS镜像[注意:Linux下使用CentOS MySQL是不用在官网下载的,只需要配置就OK了] 下面开始正式操作: //CentOS安装MySQL之浅谈 ...
- Linux平台下mysql的ODBC配置方法
在安装配置之前, 需要先大概了解一下MyODBC的架构. MyODBC体系结构建立在5个组件上,如下图所示: Driver Manager: 负责管理应用程序和驱动程序间的通信, 主要功能包括: 解析 ...
- Linux上安装MySQL及其基础配置
本文主要介绍Linux下使用yum安装MySQL,以及启动.登录和远程访问MySQL数据库. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | gr ...
- 【宝塔linux】 导入mysql 大文件失败的问题
导入数据库有四种方法 1.宝塔网站自带的数据库导入 2.phpmyadmin导入 3.远程到linux服务器用导入命令 使用xshell进入到控制台 1.首先建空数据库 mysql>create ...
- Linux环境下mysql安装并配置远程访问
环境:centOS 1.下载mysql安装文件 [root@localhost ~]# wget http://dev.mysql.com/get/mysql-community-release-el ...
随机推荐
- Socket编程(九)
此为网络编程的一个系列,后续会把内容补上.....
- UVA 12661 Funny Car Racing 有趣的赛车比赛(最短路,变形)
题意:赛道有n个交叉点,和m条单向路径(有重边),每条路都是周期性关闭的,且通过仍需一段时间.在比赛开始时,所有道路刚好打开,选择进入该道路必须满足“在打开的时间段进入,在关闭之前出来”,即不可在路上 ...
- js变量作用域
for(var i =0;i<100;i++) { } alert(i);//100 if(true){ var i="91d"; } alert(i);//91d func ...
- SharePoint 2010 获取当前用户的权限
转:http://blog.csdn.net/sygwin_net/article/details/6790500 操作环境:SharePoint 2010 关于SharePoint 的权限架构,具体 ...
- How to cancel parallel loops in .NET C# z
Cancellation token Parallel options CancellationTokenSource cancellationTokenSource = new Cancellati ...
- [OFBiz]简介 二
1. 执行ant run-install后,生成了55个ofbiz的jar.加上最初的E:\apache-ofbiz-10.04\framework\entity\lib\ofbiz-minerva. ...
- LWIP互联网资料汇总
本文主要搜集了下互联网上关于LWIP的资料和教程 欢迎补充 第一部分:移植 LWIP在UCOS上移植 LWIP 在STM32上移植 http://www.docin.com/p-459242028 ...
- nginx log_format指令记录自定义响应头
我们用的nginx有做过一些定制开发,为了调试方便,加了一些自定义的response header,那么如何把这个自定义头记录到日志中以便于观察呢? nginx log_format指令支持这种扩展, ...
- C++ 顺序表
C++ 顺序表 /***1顺序表1.必做题 编写程序建立一个数续表,并逐个输出顺序表中所有数据元素的值.编写主函数测试结果. 编写顺序表定位操作子函数,在顺序表中查找是否存在数据元素x. 如果存在,返 ...
- POJ2411 - Mondriaan's Dream(状态压缩DP)
题目大意 给定一个N*M大小的地板,要求你用1*2大小的砖块把地板铺满,问你有多少种方案? 题解 刚开始时看的是挑战程序设计竞赛上的关于铺砖块问题的讲解,研究一两天楞是没明白它代码是怎么写的,智商捉急 ...