合 MySQL数据库配置大页
简介
官网:https://dev.mysql.com/doc/refman/8.0/en/large-page-support.html
Linux 标准大页和透明大页参考:https://www.xmmup.com/linux-biaozhundayehetoumingdaye.html
一般情况下使用的内存为每页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。当然还有一些相关的系统设置。
配置MySQL数据库使用大页
1、设置max locked memory
1 2 3 4 5 6 | cat >> /etc/security/limits.conf <<"EOF" @mysql hard memlock unlimited @mysql soft memlock unlimited EOF |
@mysql
表示mysql用户组的不受限。
将ulimit -l unlimited
加入mysqld_safe
命令中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [root@lhrblog /]# which mysqld_safe /usr/bin/mysqld_safe [root@lhrblog /]# vi /usr/bin/mysqld_safe [root@lhrblog /]# [root@lhrblog /]# [root@lhrblog /]# more /usr/bin/mysqld_safe | grep unlimited -C 2 # executing mysqld_safe ulimit -l unlimited # Initialize script globals [root@lhrblog /]# ulimit -l unlimited [root@lhrblog /]# ulimit -l unlimited [root@lhrblog /]# ulimit -a 。。。 max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited 。。。 |
保证max locked memory为unlimited。