Я хочу добавить эти команды в ядро Linux перед запуском mysql (во время загрузки):
echo never> /sys/kernel/mm/transparent_hugepage/enabled
echo never> /sys/kernel/mm/transparent_hugepage/defrag
Это необходимая спецификация для приложения, которое я запускаю.
Вы можете запустить эти команды перед запуском MySQL, отредактировав сценарии запуска mysql. Но было бы лучше сделать эти настройки постоянными, отредактировав свой /etc/sysfs.conf
.
Если вы хотите отключить прозрачную огромную страницу, вы должны добавить:
kernel/mm/transparent_hugepage/enabled = never
в вашу конфигурацию sysctl.
После того, как вы отредактировали конфигурацию sysctl, вы можете перечитать конфигурацию с помощью:
sysctl -p path/to/your/sysctl/config
Расположение файла конфигурации sysctl зависит от используемого вами дистрибутива. Вы сможете определить файл, заглянув в sysctl
страница руководства man sysctl
. Путь должен быть указан в конце под FILES
Дистрибутивы на основе Debian, такие как Ubuntu, похоже, используют /etc/sysfs.conf
, Дистрибутивы на основе RedHat, похоже, используют /etc/sysctl.conf
.
Если вы действительно хотите изменить настройку с помощью сценариев запуска, вы можете отредактировать свой /etc/rc.local
и добавьте эти строки:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
Но редактирование /etc/sysfs.conf
было бы намного чище.
Если вам нужна дополнительная информация, я рекомендую прочитать это https://askubuntu.com/ вопрос.