mysql针对较大page,进行锁定内存memlock,不使用swap空间

HugePage简介

HugePage技术是Linux在内核2.6中增加的一个特性,基本原理是:使用较大的Page实现对较大内存的访问!

这个技术可以在Linux内核2.6及其以上的版本,32位和64位都支持!
它的大小范伟是2MB到256MB,具体大小依赖于内核版本和服务器硬件架构!
HugePage的优势:

1.增加TLB的命中率;
2.Page是被锁定在内存中,降低内存交换;
3.锁定内存,降低内存释放与占用产生的性能降低;
4.提高内存的性能,降低CPU负载。

注意:在MySQL中HugePages只被InnoDB所支持 
MySQL中HugePages设置
正确设置,shmmax ,shmall 等参数
1.设置max locked memory
#vi /etc/security/limits.conf
mysql            hard    memlock        unlimited  
mysql            soft    memlock         unlimited 
2.将mysql用户所属组添加到系统内核中
# id mysql
uid=501(mysql) gid=501(dba) groups=501(dba) 
#echo 501 > /proc/sys/vm/hugetlb_shm_group
3. 配置 my.cnf
 [mysqld]  
large-pages  
[mysqld]
large-pages
4.启动mysqld

原文地址:http://blog.51cto.com/jschu/2121246

时间: 2024-11-24 02:55:32

mysql针对较大page,进行锁定内存memlock,不使用swap空间的相关文章

Mysql千万级大表优化

Mysql的单张表的最大数据存储量尚没有定论,一般情况下mysql单表记录超过千万以后性能会变得很差.因此,总结一些相关的Mysql千万级大表的优化策略. 1.优化sql以及索引 1.1优化sql 1.有索引但未被用到的情况(不建议) (1)避免like的参数以通配符开头时 尽量避免Like的参数以通配符开头,否则数据库引擎会放弃使用索引而进行全表扫描. 以通配符开头的sql语句,例如:select * from t_credit_detail where Flistid like '%0'\G

MYSQL数据库导入大数据量sql文件失败的解决方案

1.在讨论这个问题之前首先介绍一下什么是"大数据量sql文件". 导出sql文件.选择数据库-----右击选择"转储SQL文件"-----选择"结构和数据"  .保存文件db_mras.sql文件. 2.导入sql文件.在MYSQL中新建数据库db_mras.选择数据库-----右击选择"运行SQL文件"-----选择文件db_mras.sql,运行. 现在发现运行失败,提示错误"MySQL server has g

MySQL ibdata1占用空间大 释放MySQL ibdata1文件的空间

MySQL ibdata1占用空间大  释放MySQL ibdata1文件的空间 背景:最近公司一台服务器报警,磁盘空间报警超阀值.  原来mysql数据库数据目录特别大,前一篇文章中介绍的是变更mysql数据文件的目录,此文主要介绍如何把mysql占用的空间释放出来. 说明: mysql有多种存储引擎,比如MyISAM.InnoDB很常用. 如果用的InnoDB, 且使用mysql默认的配置文件,MySQL的数据都会存放在ibdata1文件中,经过一段时间此文件会变的非常大,占用大量磁盘空间.

3星|《3大特质,锁定创业型人才!》:对新体验保持开放心态,是创业型领导者的特质

3大特质,锁定创业型人才!(<哈佛商业评论>增刊) <哈佛商业评论>关于创业型领导的4篇相关文章.不提写作时间与发表渠道.第一篇不错,讲创业型领导的特征与常见误解. 总体评价3星,有参考价值. 以下是书中一些内容的摘抄,#号后面是kindle电子版中的页码: 1:针对4000多名创业家和1800名总经理的心理测试分析结果表明,3大因素让创业家与众不同:在不确定性中茁壮成长.对掌控权的热衷和说服他人的能力.#40 2:创业家不一定总是比总经理更具创造力,但他们喜欢突破常规.他们不追求

【优化】MySQL千万级大表优化解决方案

问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死.严重影响业务. 问题前提:老系统,当时设计系统的人大概是大学没毕业,表设计和sql语句写的不仅仅是垃圾,简直无法直视.原开发人员都已离职,到我来维护,这就是传说中的维护不了就跑路,然后我就是掉坑的那个!!! 我尝试解决该问题,so,有个这个日志. 方案概述 方案一:优化现有mysql数据库.优点:不影响现有业务

mysql插入blob大文件

1,E:\MySQL\MySQL Server 5.7\my.ini    max_allowed_packet=40M 2,MySQL的四种BLOB类型 类型 大小(单位:字节)  TinyBlob 最大 255  Blob 最大 65K  MediumBlob 最大 16M  LongBlob 最大 4G mysql插入blob大文件,布布扣,bubuko.com

iOS将大文件映射到内存(读取大文件)

http://blog.csdn.net/xyt243135803/article/details/40995759 在<中国区GPS偏移纠正(适用于Google地图)>一文中曾读取一个78M的大数据文件,一开始采用了NSData的dataWithContentsOfFile:方法.不少人反馈说如果直接使用,将会耗尽iOS的内存.其实这个是可以改善的. NSData还有一个API: + (id)dataWithContentsOfFile:(NSString *)path options:(N

MySQL复制异常大扫盲:快速溯源与排查错误全解

MySQL复制异常大扫盲:快速溯源与排查错误全解https://mp.weixin.qq.com/s/0Ic8BnUokyOj7m1YOrk1tA 作者介绍王松磊,现任职于UCloud,从事MySQL数据库内核研发工作,主要负责UCloud云数据库UDB的内核故障排查工作以及数据库新特性的研发工作. 复制作为MySQL原生的数据同步功能,在MySQL高可用架构中起着至关重要的作用.本文梳理了MySQL高可用产品UDB在日常运维中遇到的复制问题,并总结了当复制发生异常时,排查复制异常的方法. 一.

mysql 生产库大表delete

mysql 生产库大表删除 一般线上业务增长较快,造成某些表达到分表的临界值,表行数超过2000w且查询频繁,如表业务没有较多的聚合查询的话,可以考虑按时间归档部分历史数据.现推荐2种本人之前使用过的删除方式. 按照主键或者索引拆分后分段执行,使用存储过程 需要注意这种大表删除,如果是在主库执行,尽量把会话改成语句格式,以保证不会出现复制延迟 语句如下:set session binlog_format='STATEMENT'; CREATE PROCEDURE sp_delete_data()