Я успешно настроил свой сервер Ubuntu, чтобы MySQL мог использовать огромные страницы. Проблема в том, что я хочу включить параметр memlock
в my.cnf
, а /proc/sys/vm/hugetlb_shm_group
установлен в другую группу (MySQL является членом этой группы).
# 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_group
установлено на 113
, все идет хорошо независимо от варианта memlock
.
Но если я установлю /proc/sys/vm/hugetlb_shm_group
на 117
, он будет работать только без опции memlock
. Если я включу его, я получаю эту ошибку при запуске MySQL:
InnoDB: HugeTLB: Предупреждение: не удалось выделить 21978152960 байт. ошибка 1
InnoDB HugeTLB: Предупреждение: использование обычного пула памяти
Есть идеи, что может быть не так?