2017-04-26 8 views
0

MySQL이 hugepages를 사용할 수 있도록 우분투 서버를 성공적으로 구성했습니다. 문제가 my.cnfmemlock 옵션을 활성화하고 /proc/sys/vm/hugetlb_shm_group이 다른 그룹 (MySQL이이 그룹의 구성원 임)으로 설정되어있는 경우입니다.MySQL + hugepages + memlock

# uname -a 
Linux hostname 3.13.0-32-generiC#57~precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 

# mysqld --version 
mysqld Ver 5.5.53-0ubuntu0.12.04.1 for debian-linux-gnu on x86_64 ((Ubuntu)) 

# egrep ^Huge /proc/meminfo 
HugePages_Total: 15000 
HugePages_Free: 15000 
HugePages_Rsvd:  0 
HugePages_Surp:  0 

# id mysql 
uid=107(mysql) gid=113(mysql) groups=113(mysql),117(hugetlb) 

/proc/sys/vm/hugetlb_shm_group113 모두로 설정하면 잘 memlock 옵션에 상관없이 간다.

그러나 /proc/sys/vm/hugetlb_shm_group에서 117으로 설정하면 memlock 옵션이없는 경우에만 작동합니다. MySQL을 시작하면이 오류가 발생합니다.

InnoDB : HugeTLB : 경고 : 21978152960 바이트를 할당하지 못했습니다. errno를 1

이노 HugeTLB : 경고 : 사용하여 기존의 메모리 풀 잘못 될 수있는

어떤 생각?

답변

0

ulimit의 문제점으로 나타났습니다.

exec /usr/bin/mysqld 

script 
    ulimit -l unlimited 
    /usr/bin/mysqld 
end script 
변경 : 나는 /etc/init/mysql.conf에서 간단한 편집 작업을 가지고 있으므로 /etc/security/limits.conf의 설정은 무시됩니다