mysql大頁配置
1、HugePages簡介
HugePages是kernel 2.6引入以便適應越來越大的實體記憶體
在Linux下、page size預設是4K、如果使用HugePages、預設是2M
再看2個術語:
page table 對映表:實體記憶體和swap的對應關係、訪問記憶體是先讀page table、根據表裡的對映關係操作
TLB :cpu cache元件、快取部分page table以提高轉換速度
2、MySQL 配置大頁 (要大於 innodb_buffer_pool_size+innodb_additional_mem_pool_size+
innodb_log_buffer_size+tmp_table_size)
好處
① 提高TLB的命中率
② 利用HugePages不會被Swap 的特性保證MySQL記憶體不會被交換到Swap中
目前在MySQL中HugePages只被InnoDB所支援
以下簡單介紹其配置流程
(1) 配置前:
[root@cdio ~]# cat /proc/meminfo | grep -i huge
HugePages_Total:0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize:2048 kB
(2) 設定大頁數量、每頁通常2M、20個就40M、系統要有足夠的記憶體待分配
[root@obe11g ~]# echo 20 > /proc/sys/vm/nr_hugepages
(3) 增加最大共享記憶體段的大小、本例12G
[root@obe11g ~]# echo 1560281088 > /proc/sys/kernel/shmmax
(4) 增加共享記憶體的大小、每頁4K
[root@obe11g ~]# echo 4194304 > /proc/sys/kernel/shmall
(5) 將mysql使用者所屬組新增到系統核心中
[root@obe11g ~]# more /proc/sys/vm/hugetlb_shm_group
0
[root@obe11g ~]# id mysql
uid=501(mysql) gid=501(dba) groups=501(dba)
[root@obe11g ~]# echo 501 > /proc/sys/vm/hugetlb_shm_group
(6) 再次確認配置情況
[root@obe11g ~]# cat /proc/meminfo | grep -i huge
HugePages_Total: 20
HugePages_Free:20
Hugepagesize:4096 kB
(7) 設定max locked memory
[root@obe11g ~]# cat /etc/security/limits.conf | grep -i mysql
mysql hard memlock unlimited
mysql soft memlock unlimited
(8) 配置 my.cnf
[mysqld]
large-pages
(9) 啟動mysqld
(10) 觀察HugePages 使用情況
[root@obe11g ~]# grep -i huge /proc/meminfo
HugePages_Total: 20
HugePages_Free:16
Hugepagesize:4096 kB
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69990629/viewspace-2772767/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL InnoDB頁面大小配置MySql
- linux配置大頁HugePagesLinux
- 【大頁記憶體】Oracle資料庫配置大頁記憶體記憶體Oracle資料庫
- oracle 大頁配置詳細介紹Oracle
- AIX上為ORACLE配置大頁面AIOracle
- MySQL 配置索引頁的合併閾值MySql索引
- 探索MYSQL開啟大頁記憶體MySql記憶體
- mysql大資料量分頁查詢方法及其優化MySql大資料優化
- mysql配置MySql
- 配置mysqlMySql
- 【IT老齊074】海量資料大頁碼MySQL查詢MySql
- mysql分頁-limit offset分頁MySqlMIT
- t620折騰 —— 給虛擬機器配置大頁虛擬機
- oracle大頁Oracle
- MySQL分頁查詢offset過大,Sql最佳化經驗MySql
- Mysql安全配置MySql
- MySQL基本配置MySql
- MySQL MHA配置MySql
- mysql分頁時offset過大的Sql最佳化經驗分享MySql
- MySQL InnoDB髒頁管理MySql
- MySQL、Elasticsearch 深度分頁MySqlElasticsearch
- Mac 下配置 MySQLMacMySql
- mysql主從配置MySql
- MySQL安裝配置MySql
- MySQL配置檔案MySql
- mysql 主從配置MySql
- mysql 配置檔案MySql
- Mysql半同步配置MySql
- rails 配置使用mysqlAIMySql
- MySQL之swap配置MySql
- MYSQL 配置slave故障MySql
- MySQL叢集配置MySql
- mysql配置主從MySql
- Mysql 安裝 配置MySql
- Mysql管理與配置MySql
- mysql配置詳解MySql
- MySQL多例項配置MySql
- myBatis分頁外掛配置MyBatis