Отключение Transparent Huge Pages (THP) в Linux
Transparent Huge Pages (THP) — это система управления памятью Linux, которая сокращает накладные расходы на поиск в буфере предварительного просмотра перевода (TLB) на машинах с большим объемом памяти за счет использования страниц памяти большего размера.
При использовании к примеру MySQL, включенный THP может негативно повлиять на производительность, вызывая фрагментацию памяти, повышенную склонность к подкачке и дополнительные накладные расходы. Отключение THP обычно рекомендуется для серверов MySQL, особенно с высокой рабочей нагрузкой, для поддержания постоянной и оптимизированной производительности.
Для отключения THP при загрузке системы, создадим сервисный файл для системы инициализации Linux. Ниже приведу примеры как для Systemd
, так и для систем инициализации System V init
.
Systemd
JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI5JUQxJTgyJUQwJUI1JTIwJUQxJTgxJUQwJUJCJUQwJUI1JUQwJUI0JUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUI5JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJTJGZXRjJTJGc3lzdGVtZCUyRnN5c3RlbSUyRmRpc2FibGUtdHJhbnNwYXJlbnQtaHVnZS1wYWdlcy5zZXJ2aWNlJTIwJUQxJTgxJTIwJUQxJTgxJUQwJUJFJUQwJUI0JUQwJUI1JUQxJTgwJUQwJUI2JUQwJUI4JUQwJUJDJUQxJThCJUQwJUJDLg==
[Unit]
Description=Disable Transparent Huge Pages (THP)
RGVmYXVsdERlcGVuZGVuY2llcyUzRG5v
After=sysinit.target local-fs.target
QmVmb3JlJTNEbW9uZ29kLnNlcnZpY2U=
JTVCU2VydmljZSU1RA==
Type=oneshot
RXhlY1N0YXJ0JTNEJTJGYmluJTJGc2glMjAtYyUyMCdlY2hvJTIwbmV2ZXIlMjAlN0MlMjB0ZWUlMjAlMkZzeXMlMkZrZXJuZWwlMkZtbSUyRnRyYW5zcGFyZW50X2h1Z2VwYWdlJTJGZW5hYmxlZCUyMCUzRSUyMCUyRmRldiUyRm51bGwn
JTVCSW5zdGFsbCU1RA==
WantedBy=basic.target
JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JUQwJUIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUI3JUQwJUI4JUQxJTgyJUQwJUI1JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQxJThCJTIwc3lzdGVtZCUyMHVuaXQlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQjQlRDAlQkUlRDElODElRDElODIlRDElODMlRDAlQkYlRDAlQkQlRDAlQkUlRDElODElRDElODIlRDAlQjglMjAlRDElODElRDAlQkUlRDAlQjclRDAlQjQlRDAlQjAlRDAlQkQlRDAlQkQlRDAlQkUlRDAlQjMlRDAlQkUlMjAlRDElODElRDAlQjUlRDElODAlRDAlQjIlRDAlQjglRDElODElRDAlQjAu
c3lzdGVtY3RsJTIwZGFlbW9uLXJlbG9hZA==
JUQwJTk3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUI4JUQxJTgyJUQwJUI1JTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQwJUI2JUQwJUIxJUQxJTgzLg==
c3lzdGVtY3RsJTIwc3RhcnQlMjBkaXNhYmxlLXRyYW5zcGFyZW50LWh1Z2UtcGFnZXM=
Чтобы убедится, что для параметра THP успешно установлено значение [never]
, выполним команду.
Y2F0JTIwJTJGc3lzJTJGa2VybmVsJTJGbW0lMkZ0cmFuc3BhcmVudF9odWdlcGFnZSUyRmVuYWJsZWQ=
Чтобы сервис запускался при каждой загрузке системы, выполните следующую команду.
c3lzdGVtY3RsJTIwZW5hYmxlJTIwZGlzYWJsZS10cmFuc3BhcmVudC1odWdlLXBhZ2Vz
System V Init
Создайте следующий файл /etc/init.d/disable-transparent-hugepages
с содержимым.
JTIzISUyRmJpbiUyRmJhc2g=
### BEGIN INIT INFO
JTIzJTIwUHJvdmlkZXMlM0ElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBkaXNhYmxlLXRyYW5zcGFyZW50LWh1Z2VwYWdlcw==
# Required-Start: $local_fs
JTIzJTIwUmVxdWlyZWQtU3RvcCUzQQ==
JTIzJTIwWC1TdGFydC1CZWZvcmUlM0ElMjAlMjAlMjAlMjBtb25nb2QlMjBtb25nb2RiLW1tcy1hdXRvbWF0aW9uLWFnZW50
# Default-Start: 2 3 4 5
JTIzJTIwRGVmYXVsdC1TdG9wJTNBJTIwJTIwJTIwJTIwJTIwJTIwMCUyMDElMjA2
JTIzJTIwU2hvcnQtRGVzY3JpcHRpb24lM0ElMjBEaXNhYmxlJTIwTGludXglMjB0cmFuc3BhcmVudCUyMGh1Z2UlMjBwYWdlcw==
JTIzJTIwRGVzY3JpcHRpb24lM0ElMjAlMjAlMjAlMjAlMjAlMjAlMjBEaXNhYmxlJTIwTGludXglMjB0cmFuc3BhcmVudCUyMGh1Z2UlMjBwYWdlcyUyQyUyMHRvJTIwaW1wcm92ZQ==
# database performance.
### END INIT INFO
Y2FzZSUyMCUyNDElMjBpbg==
JTIwJTIwc3RhcnQp
if [ -d /sys/kernel/mm/transparent_hugepage ]; then
JTIwJTIwJTIwJTIwJTIwJTIwdGhwX3BhdGglM0QlMkZzeXMlMkZrZXJuZWwlMkZtbSUyRnRyYW5zcGFyZW50X2h1Z2VwYWdl
elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
JTIwJTIwJTIwJTIwJTIwJTIwdGhwX3BhdGglM0QlMkZzeXMlMkZrZXJuZWwlMkZtbSUyRnJlZGhhdF90cmFuc3BhcmVudF9odWdlcGFnZQ==
JTIwJTIwJTIwJTIwZWxzZQ==
return 0
fi
echo 'never' | tee ${thp_path}/enabled > /dev/null
unset thp_path
;;
esac
Сделайте его исполняемым.
chmod 755 /etc/init.d/disable-transparent-hugepages
Запустите скрипт.
/etc/init.d/disable-transparent-hugepages start
JUQwJUE3JUQxJTgyJUQwJUJFJUQwJUIxJUQxJThCJTIwJUQxJTgzJUQwJUIxJUQwJUI1JUQwJUI0JUQwJUI4JUQxJTgyJUQxJTgxJUQxJThGJTJDJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQwJUIwJTIwVEhQJTIwJUQxJTgzJUQxJTgxJUQwJUJGJUQwJUI1JUQxJTg4JUQwJUJEJUQwJUJFJTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJCJUQwJUI1JUQwJUJEJUQwJUJFJTIwJUQwJUI3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTIwJTVCbmV2ZXIlNUQlMkMlMjAlRDAlQjIlRDElOEIlRDAlQkYlRDAlQkUlRDAlQkIlRDAlQkQlRDAlQjglRDAlQkMlMjAlRDAlQkElRDAlQkUlRDAlQkMlRDAlQjAlRDAlQkQlRDAlQjQlRDElODMu
Y2F0JTIwJTJGc3lzJTJGa2VybmVsJTJGbW0lMkZ0cmFuc3BhcmVudF9odWdlcGFnZSUyRmVuYWJsZWQ=
JUQwJUE3JUQxJTgyJUQwJUJFJUQwJUIxJUQxJThCJTIwJUQxJTgxJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUI4JUQxJTgxJTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUIwJUQwJUJCJUQxJTgxJUQxJThGJTIwJUQwJUJGJUQxJTgwJUQwJUI4JTIwJUQwJUJBJUQwJUIwJUQwJUI2JUQwJUI0JUQwJUJFJUQwJUI5JTIwJUQwJUI3JUQwJUIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUI3JUQwJUJBJUQwJUI1JTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQxJThCJTJDJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQxJTgyJUQwJUI1JTIwJUQxJTgxJUQwJUJCJUQwJUI1JUQwJUI0JUQxJTgzJUQxJThFJUQxJTg5JUQxJTgzJUQxJThFJTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJTgzLg==
dXBkYXRlLXJjLmQlMjBkaXNhYmxlLXRyYW5zcGFyZW50LWh1Z2VwYWdlcyUyMGRlZmF1bHRz
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Обсуждение
Нет комментариев.