一般情况下使用的内存为每页4K,使用 huge page 的话默认是每页 2M。如果设置MySQL使用 huge page 至少有两个好处,一个是可以减少 Translation Lookaside Buffer (TLB) 失误以提高性能,另一个是利用 huge page不会swap的特性保证MySQL的内存不会被交换到swap中。

MySQL 5.0.3之后在linux上支持huge page,可以使用 large-page 选项启动MySQL。

当然还有一些相关的系统设置。

echo 400 > /proc/sys/vm/nr_hugepages

这个指定总共huge page的页数,可以放到/etc/rc.local中。由于分配时需要有连续的内存空间,所以如果在运行了一段时间的系统上执行,可能无法分配到指定的数量,即使还有足够的内存。

之后还需要设置内核参数kernel.shmmax和kernel.shmall,否则MySQL启动时会报22的错误

InnoDB: HugeTLB: Warning: Failed to allocate 536887296 bytes. errno 22

shmmax是最大的共享内存段的大小,单位是字节,默认32M,肯定是不够的,这个应该比innodb_buffer_pool要大。shmall是共享内存的总大小,单位是页,默认2097152(8G)。可以使用sysctl -w或者在/etc/sysctl.conf中设置。

除此还需要设max locked memory,使用ulimit -l或设置/etc/security/limits.conf,否则会报12的错误:

Warning: Failed to allocate 31457280 bytes from HugeTLB memory. errno 12

MySQL启动之后可以使用

grep Huge /proc/meminfo查看huge page的使用情况。

HugePages_Total: 400HugePages_Free: 128Hugepagesize: 2048 kB

mysql使用大内存页面,设置MySQL使用大内存页面相关推荐

  1. java 设置年轻代堆大小,[JVM学习之路]五堆(一)堆的内存结构参数设置分代思想内存分配...

    [JVM学习之路]五堆(一)堆的内存结构参数设置分代思想内存分配 [JVM学习之路]五.堆(一)堆的内存结构.参数设置.分代思想.内存分配策略及TLAB 一.堆的核心概述 堆的特点: 1.一个jvm实 ...

  2. mysql设置最大使用内存_设置MySQL使用大内存页面

    一般情况下使用的内存为每页4K,使用 huge page 的话默认是每页 2M.如果设置MySQL使用 huge page 至少有两个好处,一个是可以减少 Translation Lookaside ...

  3. linux 把mysql大小写关闭_linux中设置mysql大小写不去区分方法

    linux中设置mysql大小写不去区分方法 发布时间:2020-05-14 12:01:31 来源:亿速云 阅读:191 作者:三月 本文主要给大家介绍linux中设置mysql大小写不去区分方法, ...

  4. mysql 时区设定_如何设置MySQL 时区

    MySQL 时区默认是服务器的时区.在使用中经常会遇见. 可以通过以下命令查看 查看时区 SQL代码. mysql> show variables like '%time_zone%'; . + ...

  5. mysql 重置root密码 远程访问_重置mysql的root密码以及设置mysql远程登陆权限

    root 密码忘记,重置mysql的root密码 :t 一.修改mysql的配置文件my.cnf 1. 在[mysqld]的段中加上一句:skip-grant-tables [mysqld] data ...

  6. linux下mysql的用户名,linux下设置mysql用户名及密码

    linux下设置mysql用户名及密码 一.安装设置密码 我安装的时候直接用的yum命令, yum install mysql mysql-server 这样就导致默认没有密码访问 然后我就添加了用户 ...

  7. centos mysql密码设置密码_CentOS下设置MySQL的root密码

    方法一. Js代码 # /etc/init.d/mysqld stop # mysqld_safe--user=mysql --skip-grant-tables --skip-networking ...

  8. mysql数据表默认utf8_设置Mysql数据库的默认编码为utf8

    进入mysql,查看默认编码:$ mysql -uroot -proot $ show variables like character%' 显示字符编码:+--------------------- ...

  9. mysql navicat 组合索引_Navicat设置MySQL索引+MySQL索引知识

    引用: https://www.cnblogs.com/bypp/p/7755307.html https://blog.csdn.net/resilient/article/details/8282 ...

最新文章

  1. Winform下载文件
  2. 【Jenkins持续集成】docker部署+配置+操作Jenkins
  3. Floyed-Warshall算法
  4. java jaspersoft,Jaspersoft Studio
  5. Silverlight HTML5 Flash - RIA技术之三足鼎立
  6. Win10系统特别卡的一个原因
  7. Asp.net MVC Linq to SQL Model verification
  8. 敏捷开发中XP与SCRUM的区别
  9. Unity3D视频教程,Unity3D从入门到精通视频教程
  10. Hexo 博客提交百度、谷歌搜索引擎收录
  11. P2P加速系统解决方案
  12. OA系统是什么?分分钟使用Java开发出来!!
  13. 科技云报道:云密码,开辟网络安全的新“蓝海”
  14. 爱航拍,可以在这里晒出无人机和航拍故事
  15. dellR730装机教程
  16. [插件使用] SwitchHosts自动更新Github Hosts文件
  17. 财税SaaS起风,税友股份成“中国版Intuit”?
  18. java获取word图片_java代码获取word文件中的图片
  19. audioread.exceptions.NoBackendError
  20. Java 后端开发面试总结:25 个技术专题(最全面试攻略)

热门文章

  1. 全年营业额怎么计算_会计税法计算公式大全
  2. vue的自定义标签tag是什么意思啊_好好的衣服为什么洗一次就废,服装标签上的图标究竟是什么意思?...
  3. centerandzoom 无效_百度地图 app 点击事件无效、不触发 解决方案
  4. python输出csv文件中文乱码-python读写csv时中文乱码问题解决办法
  5. c语言数组最大元调换,c语言数组元素交换有关问题,请高手过来看看
  6. dell服务器630虚拟盘初始化,DELL服务器配置Raid的步骤
  7. 东华大学计算机学院推免名单,东华大学2020年推免流程及各学院录取情况的说明(持续更新)...
  8. 台式计算机怎么加一个硬盘,如何再安装一个台式计算机硬盘驱动器?如何在计算机安装中添加额外的硬盘...
  9. foxmail提示不知道这样的主机_不知道和婚礼策划师沟通时谈哪些?这样做让你高效备婚...
  10. 大工18秋《计算机网络技术》在线作业1,大工18秋《专业英语(计算机英语)》在线作业3【标准答案】...