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 ...
随机推荐
- Bootstrap 源码解析(转)
1.Bootstrap的作用域 2.Bootstrap的类定义 3.Bootstrap的插件定义 4.Bootstrap的事件代理 5.Bootstrap的对象数据缓存 6.Bootstrap的防冲突 ...
- 在win2008中配置ServU
因为08的防火墙要求比较高.很多端口都关闭,所以要设置防火墙. 首先设置入站规则 1.新建一条规则,规则类型选择“端口”,然后TCP,设置为20-21,60010-60020,然后允许链接,在配置文件 ...
- 提示29. 怎样避免延迟加载或Load()阅读器问题
提示29. 怎样避免延迟加载或Load()阅读器问题 如果你有如下这样的代码: 1 var results = from c in ctx.Customers 2 where c.SalesPerso ...
- Gen_fsm行为实践与分析
1.简介 Gen_fsm是一个通用的有限状态机,它描述了这样的一组关系: State(S) x Event(E) -> Actions(A),State(S') 这个关系意味着:如果在S状态下发 ...
- Spring 教程(二)
一.Spring AOP介绍 开发其实就是在不断的重构,抽象重复代码,然后进行封装.从最原始的模块化编程到面向对象编程,代码的封装越来越整齐清晰,但是依然存在重复的代码,而这些重复代码几乎都是与业务逻 ...
- MySQL 存储过程删除大表
1.权限问题 alter routine 编辑或删除存储过程 create routine 建立存储过程 execute 创建存储过程 2.存储过程相关的一些命令 show procedure sta ...
- 线性存储结构-ArrayList、Vector
ArrayList:采用数组的内部构建形式,也就是顺序存储模式.当新增一个对象时,如果当前长度超过预设,会使用System.arraycopy(定义一个更长的数组进行复制处理),这个时候开销比较大. ...
- 企业移动互联网O2O微信支付流程图
过去一周里最受关注的应该就是微信了,腾讯合作伙伴大会微信分论坛的火爆现场,没有亲临其境是无法想象的,近3000人报名,2000多人来到现场,试图进入只能容纳300人的会场…… 闲话不表,进入正题吧,本 ...
- 2015长春 HDU 5534 Partial Tree
题意:有n个结点,n-1条边,现在要把这n个结点连成一棵树,给定了f(i),表示度为i的结点的价值是f(i).现在问如何连能够使得Σf(i)的值最大. 思路:每个点至少一个度,所以可分配的度数为n-2 ...
- POJ 1005 解题报告
1.题目描述 2.解题思路 好吧,这是个水题,我的目的暂时是把poj第一页刷之,所以水题也写写吧,这个题简单数学常识而已,给定坐标(x,y),易知当圆心为(0,0)时,半圆面积为0.5*PI*(x ...