centos 開啟大頁記憶體

mhabbyo發表於2017-02-20
## OS 根據機器的情況設定好對應的核心引數


## 按照100G分配,大頁的資料量為 51200
echo 51200 > /proc/sys/vm/nr_hugepages


## 新增能夠使用大頁記憶體的使用者組
## uid=1000(mysql) gid=1002(dba) groups=1002(dba),4(adm)
echo 1002 > /proc/sys/vm/hugetlb_shm_group

## 設定核心允許的共享記憶體段的大小,這個是90G
echo 96636764160 > /proc/sys/kernel/shmmax

## 設定共享記憶體段的數量 共享記憶體頁的大小是4k,90G 90*1024*1024/4
echo 23592960 > /proc/sys/kernel/shmall

## 設定永遠不開啟透明大頁
echo never > /sys/kernel/mm/transparent_hugepage/enabled

## 設定永久關閉記憶體碎片整理
echo never > /sys/kernel/mm/transparent_hugepage/defrag

## 將核心引數寫入自啟動指令碼中,防止重啟後失效
vi /etc/rc.local


## 新增對應的檔案限制:
[root@MYSQL-DB1 ~]# tail -2  /etc/security/limits.conf 
mysql            hard    memlock        unlimited
mysql            soft    memlock        unlimited

## mysql 新增對應的配置引數
[mysql@MYSQL-DB1 ~]$ cat my3306.cnf |grep innodb_buffer_pool_
innodb_buffer_pool_size=80G
innodb_buffer_pool_dump_at_shutdown=1
innodb_buffer_pool_load_at_startup=1

[mysql@MYSQL-DB1 ~]$ cat my3306.cnf |grep page
large-pages

## 重啟mysql

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29291882/viewspace-2133990/,如需轉載,請註明出處,否則將追究法律責任。

相關文章