一般情况下使用的内存为每页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内存使用问题时,通常会怀疑是内存泄漏导致的,但实际情况可能并非如此。例如,有一个特定的bug(PS-5312),它展示了访问InnoDB全文索引时内存消耗增加的情况,但这并不等同于内存泄漏。 InnoDB...
MySQL 是一款广泛使用的开源关系型数据库管理系统,其安装过程对于初学者来说可能有些复杂,但遵循一定的步骤可以轻松完成。以下是对标题和描述中提到的MySQL安装过程的详细解释: 首先,从官方下载页面...
- 使用文本编辑器打开`bigdump.php`,设置MySQL数据库的连接参数。通常包括数据库名称、用户名、密码以及服务器地址等基本信息。 - 对于特定的数据库环境,还需要设置数据库的字符编码。如果数据库使用UTF-8编码,...
给出了在Emacs编辑器和Vim编辑器中的基础设置和示例,以及针对NDB存储引擎的C++编码指南,其中还包括了对大括号、赋值操作、使用ndbrequire宏和调试标签DBUG的特殊要求。 3. 可重用类和模板: 这一部分讲解了MySQL...
在这个场景中,我们关注的是如何使用Java Server Pages(JSP)来操作MySQL数据库中的Blob(Binary Large Object)字段,这是一个用于存储大容量二进制数据如图片、文档或音频文件的特殊字段类型。以下是关于这个主题...
在Oracle官网上,用户通常需要注册并浏览多个页面来找到合适的下载选项,而提供这个免安装包的目的就是帮助用户更方便地获取和部署这个特定版本的MySQL。 “mysql-8.2.0-winx64”是压缩包的文件名,这表明它是一个...
### Linux下安装MySQL 8.0及其配置文件设置 #### 安装步骤详解 ##### 1. 下载MySQL安装包 - **访问官方下载页面**:登录MySQL官方网站(https://dev.mysql.com/downloads/mysql/),根据操作系统选择合适的安装包...
### CentOS 5.5 MySQL 5.1.49 的安装、优化及安全设置 #### 一、前言 在 Linux 系统中部署数据库服务器是很多应用的基础工作之一。对于 CentOS 5.5 系统,安装 MySQL 5.1.49 并进行必要的优化和安全设置是非常重要...
MySQL数据库在Windows环境中安装与使用的详细教程 MySQL是一款开源、免费的关系型数据库管理系统,广泛应用于Web应用程序开发,因其高效性能和稳定性而备受青睐。这里我们将详细介绍如何在Windows环境下安装MySQL...
本文将深入探讨标题和描述中涉及的几个关键知识点:进程管理、系统服务管理、获取内存信息、CPU使用率监控以及MySQL数据库的访问源码。 首先,**进程管理**是操作系统的核心功能之一。在Windows中,进程是执行中的...
MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),它以其高性能、可靠性和易用性而闻名。MySQL由MySQL AB公司开发,目前已被Oracle公司收购。MySQL支持多种操作系统,并且提供多种存储引擎。它针对不同类型...
然后,勾选将MySQL设置为Windows服务,以及允许在命令行模式下直接执行MySQL命令。 最后一步是设置MySQL超级用户(root)的密码,确保两次输入一致,并决定是否允许远程root用户访问。如果出现要求输入原有root密码的...
4. `mysql_store_result()`:如果查询返回结果集,此函数用于存储结果在内存中,便于后续处理。 5. `mysql_fetch_row()`:从结果集中获取一行数据,并以数组形式返回。 6. `mysql_free_result()`:释放由`mysql_...
- 安装完成后,可能需要配置MySQL的my.ini文件(在Windows上)以适应你的需求,如修改端口号、最大连接数、内存使用等。 - 使用MySQL命令行客户端或图形化工具(如MySQL Workbench)连接到新安装的服务器,验证...
在官网的下载页面,选择适合您操作系统的MySQL 8.0安装包,然后按照上述方法利用迅雷加速下载。 3. **了解不同版本**:MySQL 8.0有多种版本,如社区版(免费)、企业版(付费)。社区版通常适用于个人开发和小型...
1. 下载:访问MySQL官网下载页面获取适用于您操作系统的MySQL Workbench版本。 2. 安装:按照安装向导的提示完成安装过程。 3. 启动:安装完成后,双击桌面快捷方式启动MySQL Workbench。 三、SQL开发 1. 连接管理...
7. 性能监控:提供实时的性能统计信息,如查询执行时间、内存使用情况等,帮助用户优化数据库性能。 8. 用户管理:管理MySQL服务器上的用户账户,分配权限,确保数据安全性。 9. 其他实用功能:如日志查看、脚本...
### MySQL数据库的安装配置详解(Linux + Windows) ...值得注意的是,在实际应用中还需要根据具体的业务需求进一步优化 MySQL 的配置,例如调整内存使用、日志记录等参数,以确保系统的稳定性和性能。
- 根据实际需求调整MySQL配置文件(通常位于`/etc/my.cnf`),例如设置最大连接数、内存使用限制等。 - 重启MySQL服务使配置生效: ```bash sudo systemctl restart mysqld ``` #### 五、MySQL安装注意事项 -...