mysql设置最大使用内存_设置MySQL使用大内存页面
一般情况下使用的内存为每页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: 400
HugePages_Free: 128
Hugepagesize: 2048 kB
mysql设置最大使用内存_设置MySQL使用大内存页面相关推荐
- mysql设置参数不生效_关于mysql的wait_timeout参数 设置不生效的问题【转】
关于wait_timeout 有一次去online set wait_timeout 的时候发现改了不生效,如下: mysql> show variables like 'wait_timeou ...
- mysql开放允许外部连接_设置MySql允许外部连接的方法
在linux上或window下cmd命令行下用root登陆,设置权限,grant 权限名(sqlserver和mysql不一样的,可以看手册知道,分所有的权限用all) on 库名(*表全部). ...
- mysql占用多少内存_解决mySQL占用内存超大问题
解决mySQL占用内存超大问题 解决mySQL占用内存超大问题 为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini.再也没见 ...
- mysql56 配置内存_【mysql】mysql 内存配置调优
mysql的内存计算公式: mysql used mem = key_buffer_size + query_cache_size + tmp_table_size + innodb_buffer_p ...
- mysql和python的关系_八MySQL与Python
<1>数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. ...
- mysql 自动化运维工具_部署MySQL自动化运维工具inception+archer
*************************************************************************** 部署MySQL自动化运维工具inception+ ...
- mysql query browser的使用_影响MySQL性能的配置参数
(一)连接 连接通常来自Web服务器,下面列出了一些与连接有关的参数,以及该如何设置它们.1.max_connections这是Web服务器允许的最大连接数,记住每个连接都要使用会话内存(关于会话内存 ...
- mysql 配置多个数据库连接_总结MySQL修改最大连接数的两个方式
问题 在使用MySQL数据库的时候,经常会遇到这么一个问题,就是"Can not connect to MySQL server. Too many connections"-my ...
- mysql数据库重做日志文件_数据库:mysql:重做日志文件(redo log file)
一.重做日志缓冲(redo log buffer) 1. log block 在InnoDB存储引擎中,重做日志都是以512字节进行存储的.这意味着重做日志缓存.重做日志文件都是以块(block)的方 ...
- mysql ibd文件一直增加_为什么 MySQL 回滚事务也会导致 ibd 文件增大?
一个简单的测试: start transaction; insert into tb1 values(3, repeat('a', 65000),'x',1); --commit; rollback; ...
最新文章
- linux ftp随机端口,linuxFTP生产环境配置
- SQL自动审核-自助上线平台
- 比特币Cash Hard Fork辩论在压力测试后重新召开
- Java泛型详解:<T>和Class<T>的使用,泛型类
- 命令(CMD)终端的清屏(清除/清空)命令/快捷键
- S3C2440扩展SDRAM
- NLP领域中更有效的迁移学习方法
- Python系统性能信息模块
- [Java] [Lock] [Synchronized VS ReentrantLock]
- JS实现将所有超链接指向同一个页面地址
- MongoDB 主从架构
- ProGuard正确下载网址
- 百度文库免费下载方法
- python刷新网页_python调用浏览器刷新网页的简单示例
- 为何Set检索效率低下
- NFT数字藏品交易平台免费版源码-视觉猿CMS
- DBeaver21.1.5如何迁移已有数据库连接
- win10网络适配器不见了_win10设备管理器里没有网络适配器的原因及处理方法
- HDU - 5894 hannnnah_j’s Biological Test 组合数(插板法)
- Easy Deep Learning——卷积层