[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/huge-pages-configuration":3,"mdc-bwqp56-key":804,"mdc-7k98p7-key":814,"mdc--crs1qj-key":839,"mdc--o2mi1w-key":847,"mdc--h56jll-key":863,"mdc--h1h1kt-key":879,"mdc-5rdbm8-key":887,"mdc--f9jvwo-key":927,"mdc--ss65x5-key":955,"mdc-w96kms-key":990,"related-/guides/linux/transparent-hugepages-management,/guides/linux/sysctl-tuning,/errors/linux/oom-killer-errors":998},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":733,"code":733,"createdAt":734,"description":735,"difficulty":736,"draft":737,"estimatedTime":738,"extension":739,"faq":740,"howToSteps":753,"howToTotalTime":772,"image":733,"keywords":773,"locale":784,"meta":785,"navigation":441,"path":786,"platform":787,"related":788,"section":792,"seo":793,"severity":733,"stem":794,"summary":795,"tags":796,"twitterCreator":733,"twitterSite":733,"type":802,"updatedAt":734,"__hash__":803},"content_ru/guides/linux/huge-pages-configuration.md","Настройка huge pages в Linux: полное руководство по конфигурации",[7,8,9,10],"Ubuntu 20.04 LTS","Ubuntu 22.04 LTS","CentOS 7","CentOS 8 Stream","FixPedia Team",{"type":13,"value":14,"toc":721},"minimark",[15,20,24,28,31,70,74,77,105,108,128,131,152,155,163,178,182,185,191,194,198,204,223,229,240,243,257,263,267,270,285,296,305,311,320,323,326,338,341,359,362,368,371,375,381,384,409,415,478,481,519,526,538,542,545,557,560,564,567,638,641,645,710,717],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Huge pages (большие страницы памяти) — это механизм Linux, позволяющий использовать страницы памяти размером 2 МБ или 1 ГБ вместо стандартных 4 КБ. Это снижает нагрузку на TLB (Translation Lookaside Buffer) и уменьшает количество page faults, что особенно полезно для приложений с высоким потреблением памяти, таких как базы данных (Oracle, MySQL), системы виртуализации (KVM) и высокопроизводительные вычисления. В этом гайде вы узнаете, как настроить как стандартные huge pages, так и transparent huge pages (THP) в Linux для оптимизации производительности.",[16,25,27],{"id":26},"требования-подготовка","Требования / Подготовка",[21,29,30],{},"Перед началом убедитесь, что:",[32,33,34,38,41,60,67],"ul",{},[35,36,37],"li",{},"У вас есть доступ к системе Linux с правами суперпользователя (root или через sudo).",[35,39,40],{},"Вы знакомы с базовыми командами терминала и редактированием файлов.",[35,42,43,44,48,49,48,52,55,56,59],{},"Установлены утилиты: ",[45,46,47],"code",{},"grep",", ",[45,50,51],{},"sysctl",[45,53,54],{},"grub2-mkconfig"," (для GRUB2) или ",[45,57,58],{},"update-grub"," (для Ubuntu/Debian).",[35,61,62,63,66],{},"Ваше приложение поддерживает huge pages (например, Oracle Database требует явной настройки ",[45,64,65],{},"use_large_pages=TRUE",").",[35,68,69],{},"Система имеет достаточно свободной памяти для резервирования huge pages (каждая 2 МБ страница резервируется при загрузке).",[16,71,73],{"id":72},"шаг-1-проверка-текущей-конфигурации-huge-pages","Шаг 1: Проверка текущей конфигурации huge pages",[21,75,76],{},"Сначала определите, какие huge pages уже настроены. Выполните:",[78,79,84],"pre",{"className":80,"code":81,"language":82,"meta":83,"style":83},"language-bash shiki shiki-themes github-light github-dark","grep -i huge /proc/meminfo\n","bash","",[45,85,86],{"__ignoreMap":83},[87,88,91,94,98,102],"span",{"class":89,"line":90},"line",1,[87,92,47],{"class":93},"sScJk",[87,95,97],{"class":96},"sj4cs"," -i",[87,99,101],{"class":100},"sZZnC"," huge",[87,103,104],{"class":100}," /proc/meminfo\n",[21,106,107],{},"Обратите внимание на поля:",[32,109,110,116,122],{},[35,111,112,115],{},[45,113,114],{},"HugePages_Total",": общее количество резервированных huge pages.",[35,117,118,121],{},[45,119,120],{},"HugePages_Free",": количество свободных huge pages.",[35,123,124,127],{},[45,125,126],{},"Hugepagesize",": размер одной huge page (обычно 2048 kB для 2 МБ).",[21,129,130],{},"Для transparent huge pages (THP) проверьте:",[78,132,134],{"className":80,"code":133,"language":82,"meta":83,"style":83},"cat /sys/kernel/mm/transparent_hugepage/enabled\ncat /sys/kernel/mm/transparent_hugepage/defrag\n",[45,135,136,144],{"__ignoreMap":83},[87,137,138,141],{"class":89,"line":90},[87,139,140],{"class":93},"cat",[87,142,143],{"class":100}," /sys/kernel/mm/transparent_hugepage/enabled\n",[87,145,147,149],{"class":89,"line":146},2,[87,148,140],{"class":93},[87,150,151],{"class":100}," /sys/kernel/mm/transparent_hugepage/defrag\n",[21,153,154],{},"Вывод будет выглядеть как:",[78,156,161],{"className":157,"code":159,"language":160},[158],"language-text","[always] madvise never\n","text",[45,162,159],{"__ignoreMap":83},[21,164,165,166,169,170,173,174,177],{},"где текущий режим выделен в квадратных скобках. ",[45,167,168],{},"always"," — THP всегда используются, ",[45,171,172],{},"madvise"," — только по запросу приложения, ",[45,175,176],{},"never"," — отключены.",[16,179,181],{"id":180},"шаг-2-определение-требуемого-количества-huge-pages","Шаг 2: Определение требуемого количества huge pages",[21,183,184],{},"Рассчитайте, сколько huge pages нужно для вашего приложения. Например, если приложению требуется 16 ГБ памяти, и размер huge page 2 МБ:",[78,186,189],{"className":187,"code":188,"language":160},[158],"Количество = (16 * 1024 МБ) / 2 МБ = 8192 страниц.\n",[45,190,188],{"__ignoreMap":83},[21,192,193],{},"Учтите, что huge pages резервируются в физической памяти и недоступны для других процессов. Выделяйте с запасом, но не слишком много, чтобы не истощить память. Для приложений, которые используют не всё одновременно, можно выделить меньше.",[16,195,197],{"id":196},"шаг-3-настройка-стандартных-huge-pages-через-sysctl","Шаг 3: Настройка стандартных huge pages через sysctl",[21,199,200,201,203],{},"Для временной настройки (действует до перезагрузки) используйте ",[45,202,51],{},":",[78,205,207],{"className":80,"code":206,"language":82,"meta":83,"style":83},"sudo sysctl vm.nr_hugepages=8192\n",[45,208,209],{"__ignoreMap":83},[87,210,211,214,217,220],{"class":89,"line":90},[87,212,213],{"class":93},"sudo",[87,215,216],{"class":100}," sysctl",[87,218,219],{"class":100}," vm.nr_hugepages=",[87,221,222],{"class":96},"8192\n",[21,224,225,226,203],{},"Чтобы сделать настройку постоянной, отредактируйте ",[45,227,228],{},"/etc/sysctl.conf",[78,230,234],{"className":231,"code":232,"language":233,"meta":83,"style":83},"language-ini shiki shiki-themes github-light github-dark","vm.nr_hugepages=8192\n","ini",[45,235,236],{"__ignoreMap":83},[87,237,238],{"class":89,"line":90},[87,239,232],{},[21,241,242],{},"Примените изменения:",[78,244,246],{"className":80,"code":245,"language":82,"meta":83,"style":83},"sudo sysctl -p\n",[45,247,248],{"__ignoreMap":83},[87,249,250,252,254],{"class":89,"line":90},[87,251,213],{"class":93},[87,253,216],{"class":100},[87,255,256],{"class":96}," -p\n",[21,258,259,260,262],{},"Однако, ",[45,261,51],{}," применяет настройку после загрузки системы, и huge pages будут выделены только если в памяти достаточно непрерывных свободных блоков. Для гарантированного резервирования при загрузке лучше использовать параметр ядра в GRUB.",[16,264,266],{"id":265},"шаг-4-настройка-через-grub-рекомендуется","Шаг 4: Настройка через GRUB (рекомендуется)",[21,268,269],{},"Редактируйте конфигурацию GRUB:",[78,271,273],{"className":80,"code":272,"language":82,"meta":83,"style":83},"sudo nano /etc/default/grub\n",[45,274,275],{"__ignoreMap":83},[87,276,277,279,282],{"class":89,"line":90},[87,278,213],{"class":93},[87,280,281],{"class":100}," nano",[87,283,284],{"class":100}," /etc/default/grub\n",[21,286,287,288,291,292,295],{},"Найдите строку, начинающуюся с ",[45,289,290],{},"GRUB_CMDLINE_LINUX",", и добавьте ",[45,293,294],{},"hugepages=8192",". Например:",[78,297,299],{"className":231,"code":298,"language":233,"meta":83,"style":83},"GRUB_CMDLINE_LINUX=\"quiet splash hugepages=8192\"\n",[45,300,301],{"__ignoreMap":83},[87,302,303],{"class":89,"line":90},[87,304,298],{},[21,306,307,308,203],{},"Если нужно использовать huge pages размером 1 ГБ (требуется поддержка ядра и конфигурация), добавьте также ",[45,309,310],{},"hugepagesz=1G",[78,312,314],{"className":231,"code":313,"language":233,"meta":83,"style":83},"GRUB_CMDLINE_LINUX=\"quiet splash hugepages=8192 hugepagesz=1G\"\n",[45,315,316],{"__ignoreMap":83},[87,317,318],{"class":89,"line":90},[87,319,313],{},[21,321,322],{},"После изменения обновите конфигурацию GRUB:",[21,324,325],{},"Для Ubuntu/Debian:",[78,327,329],{"className":80,"code":328,"language":82,"meta":83,"style":83},"sudo update-grub\n",[45,330,331],{"__ignoreMap":83},[87,332,333,335],{"class":89,"line":90},[87,334,213],{"class":93},[87,336,337],{"class":100}," update-grub\n",[21,339,340],{},"Для RHEL/CentOS:",[78,342,344],{"className":80,"code":343,"language":82,"meta":83,"style":83},"sudo grub2-mkconfig -o /boot/grub2/grub.cfg\n",[45,345,346],{"__ignoreMap":83},[87,347,348,350,353,356],{"class":89,"line":90},[87,349,213],{"class":93},[87,351,352],{"class":100}," grub2-mkconfig",[87,354,355],{"class":96}," -o",[87,357,358],{"class":100}," /boot/grub2/grub.cfg\n",[21,360,361],{},"Затем перезагрузите систему, чтобы huge pages были зарезервированы при загрузке.",[363,364,365],"blockquote",{},[21,366,367],{},"⚠️ Важно: Убедитесь, что выделенное количество huge pages не превышает доступной физической памяти. Рекомендуется выделять не более 50% от общей памяти, чтобы оставить место для ОС и других процессов.",[369,370],"in-article-ad",{},[16,372,374],{"id":373},"шаг-5-настройка-transparent-huge-pages-thp","Шаг 5: Настройка transparent huge pages (THP)",[21,376,377,378,380],{},"Transparent huge pages управляются ядром автоматически, но вы можете изменить поведение. Для отключения THP или установки в режим ",[45,379,172],{}," (рекомендуется для многих приложений) выполните:",[21,382,383],{},"Временно (до перезагрузки):",[78,385,387],{"className":80,"code":386,"language":82,"meta":83,"style":83},"echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled\n",[45,388,389],{"__ignoreMap":83},[87,390,391,394,397,401,404,407],{"class":89,"line":90},[87,392,393],{"class":96},"echo",[87,395,396],{"class":100}," madvise",[87,398,400],{"class":399},"szBVR"," |",[87,402,403],{"class":93}," sudo",[87,405,406],{"class":100}," tee",[87,408,143],{"class":100},[21,410,411,412,203],{},"Для постоянной настройки создайте systemd-сервис. Создайте файл ",[45,413,414],{},"/etc/systemd/system/disable-thp.service",[78,416,418],{"className":231,"code":417,"language":233,"meta":83,"style":83},"[Unit]\nDescription=Disable Transparent Huge Pages\nAfter=network.target\n\n[Service]\nType=oneshot\nExecStart=/bin/sh -c \"echo madvise > /sys/kernel/mm/transparent_hugepage/enabled\"\n\n[Install]\nWantedBy=multi-user.target\n",[45,419,420,425,430,436,443,449,455,461,466,472],{"__ignoreMap":83},[87,421,422],{"class":89,"line":90},[87,423,424],{},"[Unit]\n",[87,426,427],{"class":89,"line":146},[87,428,429],{},"Description=Disable Transparent Huge Pages\n",[87,431,433],{"class":89,"line":432},3,[87,434,435],{},"After=network.target\n",[87,437,439],{"class":89,"line":438},4,[87,440,442],{"emptyLinePlaceholder":441},true,"\n",[87,444,446],{"class":89,"line":445},5,[87,447,448],{},"[Service]\n",[87,450,452],{"class":89,"line":451},6,[87,453,454],{},"Type=oneshot\n",[87,456,458],{"class":89,"line":457},7,[87,459,460],{},"ExecStart=/bin/sh -c \"echo madvise > /sys/kernel/mm/transparent_hugepage/enabled\"\n",[87,462,464],{"class":89,"line":463},8,[87,465,442],{"emptyLinePlaceholder":441},[87,467,469],{"class":89,"line":468},9,[87,470,471],{},"[Install]\n",[87,473,475],{"class":89,"line":474},10,[87,476,477],{},"WantedBy=multi-user.target\n",[21,479,480],{},"Включите и запустите сервис:",[78,482,484],{"className":80,"code":483,"language":82,"meta":83,"style":83},"sudo systemctl daemon-reload\nsudo systemctl enable disable-thp.service\nsudo systemctl start disable-thp.service\n",[45,485,486,496,508],{"__ignoreMap":83},[87,487,488,490,493],{"class":89,"line":90},[87,489,213],{"class":93},[87,491,492],{"class":100}," systemctl",[87,494,495],{"class":100}," daemon-reload\n",[87,497,498,500,502,505],{"class":89,"line":146},[87,499,213],{"class":93},[87,501,492],{"class":100},[87,503,504],{"class":100}," enable",[87,506,507],{"class":100}," disable-thp.service\n",[87,509,510,512,514,517],{"class":89,"line":432},[87,511,213],{"class":93},[87,513,492],{"class":100},[87,515,516],{"class":100}," start",[87,518,507],{"class":100},[21,520,521,522,525],{},"Альтернативно, можно добавить в ",[45,523,524],{},"/etc/rc.local",", но systemd предпочтительнее.",[363,527,528],{},[21,529,530,531,533,534,537],{},"💡 Совет: Режим ",[45,532,172],{}," часто является оптимальным для THP, так как он позволяет приложению явно запрашивать huge pages через ",[45,535,536],{},"madvise(MADV_HUGEPAGE)",", избегая случайных латенси от автоматического управления.",[16,539,541],{"id":540},"шаг-6-перезагрузка-системы","Шаг 6: Перезагрузка системы",[21,543,544],{},"После настройки через GRUB или для применения изменений в THP перезагрузите систему:",[78,546,548],{"className":80,"code":547,"language":82,"meta":83,"style":83},"sudo reboot\n",[45,549,550],{"__ignoreMap":83},[87,551,552,554],{"class":89,"line":90},[87,553,213],{"class":93},[87,555,556],{"class":100}," reboot\n",[21,558,559],{},"После перезагрузки проверьте конфигурацию, как описано в Шаге 1.",[16,561,563],{"id":562},"проверка-результата","Проверка результата",[21,565,566],{},"После перезагрузки убедитесь, что huge pages настроены правильно:",[568,569,570,596,615],"ol",{},[35,571,572,573,587,590,592,593,595],{},"Проверьте стандартные huge pages:",[78,574,575],{"className":80,"code":81,"language":82,"meta":83,"style":83},[45,576,577],{"__ignoreMap":83},[87,578,579,581,583,585],{"class":89,"line":90},[87,580,47],{"class":93},[87,582,97],{"class":96},[87,584,101],{"class":100},[87,586,104],{"class":100},[588,589],"br",{},[45,591,114],{}," должно соответствовать заданному значению, а ",[45,594,120],{}," — быть близким к нему (если huge pages не используются приложениями).",[35,597,598,599,610,612,613,66],{},"Проверьте THP:",[78,600,602],{"className":80,"code":601,"language":82,"meta":83,"style":83},"cat /sys/kernel/mm/transparent_hugepage/enabled\n",[45,603,604],{"__ignoreMap":83},[87,605,606,608],{"class":89,"line":90},[87,607,140],{"class":93},[87,609,143],{"class":100},[588,611],{},"Должно отображать выбранный режим (например, ",[45,614,172],{},[35,616,617,618],{},"Для конкретных приложений:",[32,619,620,627],{},[35,621,622,623,626],{},"Oracle Database: запрос ",[45,624,625],{},"SELECT * FROM V$SGASTAT WHERE NAME LIKE '%Huge%';"," должен показывать использование huge pages.",[35,628,629,630,633,634,637],{},"MySQL (InnoDB): в ",[45,631,632],{},"SHOW ENGINE INNODB STATUS"," ищите \"Huge pages\" или проверьте ",[45,635,636],{},"/proc/\u003Cpid>/smaps"," на наличие \"huge\" вхождения.",[21,639,640],{},"Если значения соответствуют ожидаемым, настройка успешна.",[16,642,644],{"id":643},"возможные-проблемы","Возможные проблемы",[32,646,647,662,675,688,704],{},[35,648,649,653,654,657,658,661],{},[650,651,652],"strong",{},"Система не загружается после добавления hugepages в GRUB",": Это может произойти, если выделено слишком много huge pages и памяти не хватает при загрузке. Загрузитесь в recovery mode или с помощью Live CD, отредактируйте ",[45,655,656],{},"/etc/default/grub"," и уменьшите значение ",[45,659,660],{},"hugepages",", затем обновите GRUB.",[35,663,664,667,668,670,671,674],{},[650,665,666],{},"Huge pages не резервируются после перезагрузки",": Убедитесь, что параметр ",[45,669,660],{}," указан правильно в GRUB и что ядро поддерживает huge pages (проверьте ",[45,672,673],{},"grep CONFIG_HUGETLBFS /boot/config-$(uname -r)","). Также проверьте, достаточно ли свободной памяти при загрузке.",[35,676,677,680,681,684,685,687],{},[650,678,679],{},"Приложение не использует huge pages",": Для Oracle убедитесь, что в ",[45,682,683],{},"spfile"," установлен ",[45,686,65],{}," и SGA размером соответствует huge pages. Для других приложений проверьте документацию по настройке huge pages.",[35,689,690,693,694,48,696,48,698,700,701,703],{},[650,691,692],{},"Transparent huge pages вызывают латенси или падения производительности",": Некоторые приложения работают лучше с THP отключенным. Экспериментируйте с режимами ",[45,695,168],{},[45,697,172],{},[45,699,176],{},". Режим ",[45,702,172],{}," часто является компромиссом.",[35,705,706,709],{},[650,707,708],{},"Ошибки при записи в /sys/kernel/mm/transparent_hugepage/enabled",": Убедитесь, что вы выполняете команду от root и что файл существует (на очень старых ядрах THP может отсутствовать). В таком случае обновите ядро.",[21,711,712,713,716],{},"Если проблемы persist, проверьте логи ядра (",[45,714,715],{},"dmesg | grep huge",") на наличие ошибок.",[718,719,720],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":83,"searchDepth":146,"depth":146,"links":722},[723,724,725,726,727,728,729,730,731,732],{"id":18,"depth":146,"text":19},{"id":26,"depth":146,"text":27},{"id":72,"depth":146,"text":73},{"id":180,"depth":146,"text":181},{"id":196,"depth":146,"text":197},{"id":265,"depth":146,"text":266},{"id":373,"depth":146,"text":374},{"id":540,"depth":146,"text":541},{"id":562,"depth":146,"text":563},{"id":643,"depth":146,"text":644},null,"2026-02-15 16:59:21","Узнайте, как настроить huge pages в Linux для повышения производительности баз данных и виртуализации. Подробное руководство с командами, примерами и проверкой результата.","medium",false,"15-30 мин","md",[741,744,747,750],{"answer":742,"question":743},"Huge pages — это большие страницы памяти (обычно 2MB или 1GB), которые уменьшают overhead TLB и повышают производительность для memory-intensive приложений, таких как базы данных.","Что такое huge pages и зачем они нужны?",{"answer":745,"question":746},"Используйте команду `grep -i huge /proc/meminfo` или `cat /sys/kernel/mm/transparent_hugepage/enabled` для THP.","Как проверить, включены ли huge pages в моей системе?",{"answer":748,"question":749},"Для transparent huge pages можно менять настройки в runtime через sysfs, но для стандартных huge pages через sysctl требуется перезагрузка для резервирования памяти.","Можно ли настраивать huge pages без перезагрузки?",{"answer":751,"question":752},"На amd64 обычно 2MB, а 1GB требует специальной поддержки ядра. Проверить можно через `Hugepagesize` в /proc/meminfo.","Какие размеры huge pages поддерживаются?",[754,757,760,763,766,769],{"name":755,"text":756},"Проверка текущей конфигурации huge pages","Выполните `grep -i huge /proc/meminfo` чтобы увидеть текущие настройки huge pages и transparent huge pages.",{"name":758,"text":759},"Определение требуемого количества huge pages","Рассчитайте необходимое количество на основе размера памяти приложения. Например, для 4GB с huge pages 2MB нужно 2048 страниц.",{"name":761,"text":762},"Настройка стандартных huge pages через sysctl","Добавьте `vm.nr_hugepages = \u003Cколичество>` в `/etc/sysctl.conf` и примените `sysctl -p`. Для немедленного применения используйте `sysctl vm.nr_hugepages=\u003Cколичество>`.",{"name":764,"text":765},"Настройка через GRUB для постоянного резервирования","Добавьте `hugepages=\u003Cколичество>` в `GRUB_CMDLINE_LINUX` в `/etc/default/grub` и обновите GRUB, затем перезагрузитесь.",{"name":767,"text":768},"Управление transparent huge pages","Запишите `always`, `madvise` или `never` в `/sys/kernel/mm/transparent_hugepage/enabled` для временной настройки или создайте systemd-сервис для постоянной.",{"name":770,"text":771},"Перезагрузка системы","Перезагрузите систему, чтобы изменения вступили в силу, особенно для стандартных huge pages, настроенных через GRUB.","PT25M",[774,775,776,777,778,779,780,781,782,783],"настройка huge pages в linux","hugepages конфигурация","как включить huge pages","huge pages для приложений","transparent huge pages отключить","huge pages размер","huge pages oracle linux","huge pages mysql настройка","ошибка huge pages","увеличить производительность huge pages","ru_RU",{},"/guides/linux/huge-pages-configuration","linux",[789,790,791],"/guides/linux/transparent-hugepages-management","/guides/linux/sysctl-tuning","/errors/linux/oom-killer-errors","Гайды по Linux",{"title":5,"description":735},"guides/linux/huge-pages-configuration","Этот гайд охватывает все аспекты настройки huge pages в Linux: от понимания концепции до практической конфигурации и проверки. Вы научитесь оптимизировать память для тяжелых приложений.",[787,660,797,798,799,51,800,801],"memory management","производительность","конфигурация","grub","transparent huge pages","guide","IBYFhIerWoqFgM7fc4WmcaMFVx36CqLIy91USt8o3Cw",{"data":805,"body":806},{},{"type":807,"children":808},"root",[809],{"type":810,"tag":21,"props":811,"children":812},"element",{},[813],{"type":160,"value":742},{"data":815,"body":816},{},{"type":807,"children":817},[818],{"type":810,"tag":21,"props":819,"children":820},{},[821,823,829,831,837],{"type":160,"value":822},"Используйте команду ",{"type":810,"tag":45,"props":824,"children":826},{"className":825},[],[827],{"type":160,"value":828},"grep -i huge /proc/meminfo",{"type":160,"value":830}," или ",{"type":810,"tag":45,"props":832,"children":834},{"className":833},[],[835],{"type":160,"value":836},"cat /sys/kernel/mm/transparent_hugepage/enabled",{"type":160,"value":838}," для THP.",{"data":840,"body":841},{},{"type":807,"children":842},[843],{"type":810,"tag":21,"props":844,"children":845},{},[846],{"type":160,"value":748},{"data":848,"body":849},{},{"type":807,"children":850},[851],{"type":810,"tag":21,"props":852,"children":853},{},[854,856,861],{"type":160,"value":855},"На amd64 обычно 2MB, а 1GB требует специальной поддержки ядра. Проверить можно через ",{"type":810,"tag":45,"props":857,"children":859},{"className":858},[],[860],{"type":160,"value":126},{"type":160,"value":862}," в /proc/meminfo.",{"data":864,"body":865},{},{"type":807,"children":866},[867],{"type":810,"tag":21,"props":868,"children":869},{},[870,872,877],{"type":160,"value":871},"Выполните ",{"type":810,"tag":45,"props":873,"children":875},{"className":874},[],[876],{"type":160,"value":828},{"type":160,"value":878}," чтобы увидеть текущие настройки huge pages и transparent huge pages.",{"data":880,"body":881},{},{"type":807,"children":882},[883],{"type":810,"tag":21,"props":884,"children":885},{},[886],{"type":160,"value":759},{"data":888,"body":889},{},{"type":807,"children":890},[891],{"type":810,"tag":21,"props":892,"children":893},{},[894,896,902,904,909,911,917,919,925],{"type":160,"value":895},"Добавьте ",{"type":810,"tag":45,"props":897,"children":899},{"className":898},[],[900],{"type":160,"value":901},"vm.nr_hugepages = \u003Cколичество>",{"type":160,"value":903}," в ",{"type":810,"tag":45,"props":905,"children":907},{"className":906},[],[908],{"type":160,"value":228},{"type":160,"value":910}," и примените ",{"type":810,"tag":45,"props":912,"children":914},{"className":913},[],[915],{"type":160,"value":916},"sysctl -p",{"type":160,"value":918},". Для немедленного применения используйте ",{"type":810,"tag":45,"props":920,"children":922},{"className":921},[],[923],{"type":160,"value":924},"sysctl vm.nr_hugepages=\u003Cколичество>",{"type":160,"value":926},".",{"data":928,"body":929},{},{"type":807,"children":930},[931],{"type":810,"tag":21,"props":932,"children":933},{},[934,935,941,942,947,948,953],{"type":160,"value":895},{"type":810,"tag":45,"props":936,"children":938},{"className":937},[],[939],{"type":160,"value":940},"hugepages=\u003Cколичество>",{"type":160,"value":903},{"type":810,"tag":45,"props":943,"children":945},{"className":944},[],[946],{"type":160,"value":290},{"type":160,"value":903},{"type":810,"tag":45,"props":949,"children":951},{"className":950},[],[952],{"type":160,"value":656},{"type":160,"value":954}," и обновите GRUB, затем перезагрузитесь.",{"data":956,"body":957},{},{"type":807,"children":958},[959],{"type":810,"tag":21,"props":960,"children":961},{},[962,964,969,970,975,976,981,982,988],{"type":160,"value":963},"Запишите ",{"type":810,"tag":45,"props":965,"children":967},{"className":966},[],[968],{"type":160,"value":168},{"type":160,"value":48},{"type":810,"tag":45,"props":971,"children":973},{"className":972},[],[974],{"type":160,"value":172},{"type":160,"value":830},{"type":810,"tag":45,"props":977,"children":979},{"className":978},[],[980],{"type":160,"value":176},{"type":160,"value":903},{"type":810,"tag":45,"props":983,"children":985},{"className":984},[],[986],{"type":160,"value":987},"/sys/kernel/mm/transparent_hugepage/enabled",{"type":160,"value":989}," для временной настройки или создайте systemd-сервис для постоянной.",{"data":991,"body":992},{},{"type":807,"children":993},[994],{"type":810,"tag":21,"props":995,"children":996},{},[997],{"type":160,"value":771},[999],{"id":1000,"title":1001,"appliesTo":1002,"author":11,"body":1007,"canonical":733,"code":733,"createdAt":1739,"description":1740,"difficulty":736,"draft":737,"estimatedTime":738,"extension":739,"faq":1741,"howToSteps":1754,"howToTotalTime":1773,"image":733,"keywords":1774,"locale":784,"meta":1785,"navigation":441,"path":789,"platform":787,"related":1786,"section":1789,"seo":1790,"severity":736,"stem":1791,"summary":1792,"tags":1793,"twitterCreator":733,"twitterSite":733,"type":802,"updatedAt":1739,"__hash__":1797},"content_ru/guides/linux/transparent-hugepages-management.md","Transparent Hugepages: управление и тонкая настройка в Linux",[1003,1004,1005,1006],"Linux kernel 2.6.38 и выше","Ubuntu 16.04+","CentOS 7/RHEL 7+","Debian 9+",{"type":13,"value":1008,"toc":1727},[1009,1013,1016,1019,1023,1026,1052,1056,1059,1078,1081,1091,1094,1100,1112,1115,1126,1143,1147,1150,1170,1175,1195,1212,1215,1219,1222,1236,1239,1245,1251,1257,1260,1272,1278,1295,1299,1302,1389,1392,1394,1398,1401,1526,1530,1536,1589,1598,1600,1603,1623,1625,1724],[16,1010,1012],{"id":1011},"введение","Введение",[21,1014,1015],{},"Transparent Hugepages (THP) — это функция ядра Linux, которая автоматически управляет huge pages (страницами памяти размером 2MB или 1GB) без явного выделения приложением. Цель THP — уменьшить количество записей в TLB (Translation Lookaside Buffer), снизить накладные расходы на обработку страниц памяти и повысить общую производительность, особенно для приложений, интенсивно использующих память, таких как СУБД (PostgreSQL, MySQL), виртуальные машины или системы in-memory обработки данных.",[21,1017,1018],{},"Однако THP не всегда подходят оптимально: в некоторых сценариях они могут вызывать фрагментацию памяти, увеличивать latency или конфликтовать с numa-оптимизациями. Поэтому управление THP — важная задача для системных администраторов и DevOps-инженеров. Этот гайд подробно объясняет, как проверить текущий статус THP, временно или постоянно изменить их режим, и как мониторить влияние на систему.",[16,1020,1022],{"id":1021},"требования","Требования",[21,1024,1025],{},"Перед началом убедитесь, что ваша система соответствует следующим условиям:",[32,1027,1028,1034,1040,1046],{},[35,1029,1030,1033],{},[650,1031,1032],{},"Операционная система",": Linux с ядром версии 2.6.38 или выше (THP появились в 2.6.38, большинство современных дистрибутивов поддерживают).",[35,1035,1036,1039],{},[650,1037,1038],{},"Права доступа",": требуется доступ root или sudo для изменения системных файлов и конфигураций.",[35,1041,1042,1045],{},[650,1043,1044],{},"Инструменты",": доступ к командной строке (терминал), базовые знания команд Linux (cat, echo, nano/vim), а также понимание работы sysctl и GRUB.",[35,1047,1048,1051],{},[650,1049,1050],{},"Рекомендации",": перед внесением изменений в production-среде рекомендуется протестировать на staging-сервере или для конкретного приложения, чтобы оценить влияние на производительность.",[16,1053,1055],{"id":1054},"шаг-1-проверка-текущего-статуса-transparent-hugepages","Шаг 1: Проверка текущего статуса Transparent Hugepages",[21,1057,1058],{},"Первым делом необходимо определить, в каком режиме работают THP в вашей системе. Ядро Linux предоставляет три режима:",[32,1060,1061,1066,1073],{},[35,1062,1063,1065],{},[45,1064,168],{}," — THP всегда пытаются выделяться для новых областей памяти.",[35,1067,1068,1070,1071,926],{},[45,1069,172],{}," — THP выделяются только для областей, явно помеченных приложением через ",[45,1072,536],{},[35,1074,1075,1077],{},[45,1076,176],{}," — THP полностью отключены.",[21,1079,1080],{},"Выполните команду для просмотра активного режима:",[78,1082,1083],{"className":80,"code":601,"language":82,"meta":83,"style":83},[45,1084,1085],{"__ignoreMap":83},[87,1086,1087,1089],{"class":89,"line":90},[87,1088,140],{"class":93},[87,1090,143],{"class":100},[21,1092,1093],{},"Типичный вывод:",[78,1095,1098],{"className":1096,"code":1097,"language":160},[158],"always madvise [never]\n",[45,1099,1097],{"__ignoreMap":83},[21,1101,1102,1103,1105,1106,1108,1109,926],{},"Квадратные скобки указывают на текущий активный режим — в данном случае ",[45,1104,176],{},". Если активен ",[45,1107,168],{},", вывод будет ",[45,1110,1111],{},"[always] madvise never",[21,1113,1114],{},"Также проверьте настройки дефрагментации памяти, которые влияют на агрессивность THP:",[78,1116,1118],{"className":80,"code":1117,"language":82,"meta":83,"style":83},"cat /sys/kernel/mm/transparent_hugepage/defrag\n",[45,1119,1120],{"__ignoreMap":83},[87,1121,1122,1124],{"class":89,"line":90},[87,1123,140],{"class":93},[87,1125,151],{"class":100},[21,1127,1128,1129,48,1131,48,1133,830,1135,1138,1139,830,1141,926],{},"Вывод может включать значения ",[45,1130,168],{},[45,1132,172],{},[45,1134,176],{},[45,1136,1137],{},"defer",". Дефрагментация может добавлять overhead, поэтому в production часто используют ",[45,1140,172],{},[45,1142,176],{},[16,1144,1146],{"id":1145},"шаг-2-временное-изменение-режима-thp","Шаг 2: Временное изменение режима THP",[21,1148,1149],{},"Для быстрого тестирования или временного отключения THP (действует до перезагрузки) запишите нужное значение в соответствующий sysfs-файл. Например, чтобы отключить THP:",[78,1151,1153],{"className":80,"code":1152,"language":82,"meta":83,"style":83},"echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled\n",[45,1154,1155],{"__ignoreMap":83},[87,1156,1157,1159,1162,1164,1166,1168],{"class":89,"line":90},[87,1158,393],{"class":96},[87,1160,1161],{"class":100}," never",[87,1163,400],{"class":399},[87,1165,403],{"class":93},[87,1167,406],{"class":100},[87,1169,143],{"class":100},[21,1171,1172,1173,203],{},"Если вы хотите временно включить THP в режиме ",[45,1174,168],{},[78,1176,1178],{"className":80,"code":1177,"language":82,"meta":83,"style":83},"echo always | sudo tee /sys/kernel/mm/transparent_hugepage/enabled\n",[45,1179,1180],{"__ignoreMap":83},[87,1181,1182,1184,1187,1189,1191,1193],{"class":89,"line":90},[87,1183,393],{"class":96},[87,1185,1186],{"class":100}," always",[87,1188,400],{"class":399},[87,1190,403],{"class":93},[87,1192,406],{"class":100},[87,1194,143],{"class":100},[363,1196,1197],{},[21,1198,1199,1200,1203,1204,1207,1208,1211],{},"⚠️ ",[650,1201,1202],{},"Важно",": Некоторые системы могут требовать использования ",[45,1205,1206],{},"sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'",", если ",[45,1209,1210],{},"tee"," недоступен. Убедитесь, что команда выполняется с правами root.",[21,1213,1214],{},"После изменения проверьте статус повторно (как в Шаге 1), чтобы подтвердить смену режима. Это полезно для быстрой диагностики: если проблема с производительностью исчезла после отключения THP, возможно, они были причиной.",[16,1216,1218],{"id":1217},"шаг-3-постоянная-настройка-через-sysctl","Шаг 3: Постоянная настройка через sysctl",[21,1220,1221],{},"Чтобы изменения сохранялись после перезагрузки, используйте механизм sysctl. Откройте конфигурационный файл sysctl:",[78,1223,1225],{"className":80,"code":1224,"language":82,"meta":83,"style":83},"sudo nano /etc/sysctl.conf\n",[45,1226,1227],{"__ignoreMap":83},[87,1228,1229,1231,1233],{"class":89,"line":90},[87,1230,213],{"class":93},[87,1232,281],{"class":100},[87,1234,1235],{"class":100}," /etc/sysctl.conf\n",[21,1237,1238],{},"Добавьте строку (для отключения THP):",[78,1240,1243],{"className":1241,"code":1242,"language":160},[158],"vm.transparent_hugepage=never\n",[45,1244,1242],{"__ignoreMap":83},[21,1246,1247,1248,1250],{},"Для режима ",[45,1249,172],{}," (часто рекомендуется как баланс):",[78,1252,1255],{"className":1253,"code":1254,"language":160},[158],"vm.transparent_hugepage=madvise\n",[45,1256,1254],{"__ignoreMap":83},[21,1258,1259],{},"Сохраните файл (Ctrl+O, Enter, Ctrl+X в nano) и примените настройки без перезагрузки:",[78,1261,1262],{"className":80,"code":245,"language":82,"meta":83,"style":83},[45,1263,1264],{"__ignoreMap":83},[87,1265,1266,1268,1270],{"class":89,"line":90},[87,1267,213],{"class":93},[87,1269,216],{"class":100},[87,1271,256],{"class":96},[21,1273,1274,1275,1277],{},"Команда перечитает ",[45,1276,228],{}," и применит параметры. Проверьте статус THP — теперь настройка должна сохраниться после следующей перезагрузки.",[363,1279,1280],{},[21,1281,1282,1283,1286,1287,1290,1291,1294],{},"💡 ",[650,1284,1285],{},"Совет",": Если вы используете отдельный файл в ",[45,1288,1289],{},"/etc/sysctl.d/"," (например, ",[45,1292,1293],{},"/etc/sysctl.d/99-thp.conf","), это позволит легко управлять настройками без редактирования основного файла.",[16,1296,1298],{"id":1297},"шаг-4-настройка-через-параметры-ядра-grub","Шаг 4: Настройка через параметры ядра (GRUB)",[21,1300,1301],{},"Альтернативный (и часто более надежный для некоторых дистрибутивов) способ — передать параметр ядра через загрузчик GRUB. Это особенно полезно, если sysctl-настройки переопределяются другими механизмами.",[568,1303,1304,1319,1341,1376],{},[35,1305,1306,1307],{},"Отредактируйте конфигурацию GRUB:\n",[78,1308,1309],{"className":80,"code":272,"language":82,"meta":83,"style":83},[45,1310,1311],{"__ignoreMap":83},[87,1312,1313,1315,1317],{"class":89,"line":90},[87,1314,213],{"class":93},[87,1316,281],{"class":100},[87,1318,284],{"class":100},[35,1320,1321,1322,1324,1325,1328,1329,48,1331,1333,1334,1340],{},"Найдите строку ",[45,1323,290],{}," и добавьте параметр ",[45,1326,1327],{},"transparent_hugepage=never"," (или ",[45,1330,168],{},[45,1332,172],{},"). Пример:\n",[78,1335,1338],{"className":1336,"code":1337,"language":160},[158],"GRUB_CMDLINE_LINUX=\"transparent_hugepage=never quiet splash\"\n",[45,1339,1337],{"__ignoreMap":83},"\nЕсли строка уже содержит другие параметры, разделите их пробелами.",[35,1342,1343,1344],{},"Обновите конфигурацию GRUB:\n",[32,1345,1346,1359],{},[35,1347,1348,1349],{},"Для Ubuntu/Debian:\n",[78,1350,1351],{"className":80,"code":328,"language":82,"meta":83,"style":83},[45,1352,1353],{"__ignoreMap":83},[87,1354,1355,1357],{"class":89,"line":90},[87,1356,213],{"class":93},[87,1358,337],{"class":100},[35,1360,1361,1362],{},"Для CentOS/RHEL/Fedora:\n",[78,1363,1364],{"className":80,"code":343,"language":82,"meta":83,"style":83},[45,1365,1366],{"__ignoreMap":83},[87,1367,1368,1370,1372,1374],{"class":89,"line":90},[87,1369,213],{"class":93},[87,1371,352],{"class":100},[87,1373,355],{"class":96},[87,1375,358],{"class":100},[35,1377,1378,1379],{},"Перезагрузите систему:\n",[78,1380,1381],{"className":80,"code":547,"language":82,"meta":83,"style":83},[45,1382,1383],{"__ignoreMap":83},[87,1384,1385,1387],{"class":89,"line":90},[87,1386,213],{"class":93},[87,1388,556],{"class":100},[21,1390,1391],{},"После перезагрузки проверьте статус THP — параметр ядра должен иметь приоритет.",[369,1393],{},[16,1395,1397],{"id":1396},"шаг-5-проверка-и-мониторинг-после-изменений","Шаг 5: Проверка и мониторинг после изменений",[21,1399,1400],{},"После применения настроек (особенно через GRUB, требующее перезагрузки) важно убедиться, что изменения вступили в силу, и оценить их влияние на производительность.",[568,1402,1403,1421,1497],{},[35,1404,1405,203,1408,1418,1420],{},[650,1406,1407],{},"Проверка статуса THP",[78,1409,1410],{"className":80,"code":601,"language":82,"meta":83,"style":83},[45,1411,1412],{"__ignoreMap":83},[87,1413,1414,1416],{"class":89,"line":90},[87,1415,140],{"class":93},[87,1417,143],{"class":100},[588,1419],{},"Убедитесь, что активен ожидаемый режим.",[35,1422,1423,203,1426],{},[650,1424,1425],{},"Мониторинг использования памяти",[32,1427,1428,1435,1472],{},[35,1429,1430,1431,1434],{},"Используйте ",[45,1432,1433],{},"free -h"," для общего обзора памяти.",[35,1436,1437,1438,1460,1461,48,1463,1465,1466,903,1469,926],{},"Для детального анализа hugepages:\n",[78,1439,1441],{"className":80,"code":1440,"language":82,"meta":83,"style":83},"cat /proc/meminfo | grep -i huge\n",[45,1442,1443],{"__ignoreMap":83},[87,1444,1445,1447,1450,1452,1455,1457],{"class":89,"line":90},[87,1446,140],{"class":93},[87,1448,1449],{"class":100}," /proc/meminfo",[87,1451,400],{"class":399},[87,1453,1454],{"class":93}," grep",[87,1456,97],{"class":96},[87,1458,1459],{"class":100}," huge\n","\nОбратите внимание на ",[45,1462,114],{},[45,1464,120],{}," (это для явных hugepages, а не THP), но THP также могут влиять на ",[45,1467,1468],{},"AnonHugePages",[45,1470,1471],{},"/proc/meminfo",[35,1473,1474,1475,1478,1479,48,1482,1485,1486,48,1489,1492,1493,1496],{},"Инструменты вроде ",[45,1476,1477],{},"vmstat 1"," (смотрим столбцы ",[45,1480,1481],{},"si",[45,1483,1484],{},"so"," для swap активности, ",[45,1487,1488],{},"us",[45,1490,1491],{},"sy"," для CPU) или ",[45,1494,1495],{},"sar -r 1"," для истории.",[35,1498,1499,203,1502],{},[650,1500,1501],{},"Оценка производительности приложений",[32,1503,1504,1507,1517],{},[35,1505,1506],{},"Для баз данных: проверьте latency запросов, количество операций в секунду.",[35,1508,1509,1510,830,1513,1516],{},"Для общих нагрузок: используйте ",[45,1511,1512],{},"perf",[45,1514,1515],{},"pidstat"," для анализа системных вызовов и TLB-misses.",[35,1518,1519,1520,1523,1524,926],{},"Если THP вызвали проблемы (например, высокий ",[45,1521,1522],{},"pgfault"," или латенси), рассмотрите отключение или переход в режим ",[45,1525,172],{},[16,1527,1529],{"id":1528},"шаг-6-возврат-к-настройкам-по-умолчанию","Шаг 6: Возврат к настройкам по умолчанию",[21,1531,1532,1533,1535],{},"Если вы решили, что THP лучше управлять автоматически (режим ",[45,1534,172],{}," часто является default в современных дистрибутивах), выполните:",[32,1537,1538,1552,1565],{},[35,1539,1540,1543,1544,903,1547,910,1549,926],{},[650,1541,1542],{},"Через sysctl",": установите ",[45,1545,1546],{},"vm.transparent_hugepage=madvise",[45,1548,228],{},[45,1550,1551],{},"sudo sysctl -p",[35,1553,1554,1557,1558,1561,1562,1564],{},[650,1555,1556],{},"Через GRUB",": удалите или закомментируйте параметр ",[45,1559,1560],{},"transparent_hugepage"," из ",[45,1563,290],{},", обновите GRUB и перезагрузитесь.",[35,1566,1567,1570,1571],{},[650,1568,1569],{},"Временно"," (до перезагрузки):\n",[78,1572,1573],{"className":80,"code":386,"language":82,"meta":83,"style":83},[45,1574,1575],{"__ignoreMap":83},[87,1576,1577,1579,1581,1583,1585,1587],{"class":89,"line":90},[87,1578,393],{"class":96},[87,1580,396],{"class":100},[87,1582,400],{"class":399},[87,1584,403],{"class":93},[87,1586,406],{"class":100},[87,1588,143],{"class":100},[21,1590,1591,1592,1594,1595,1597],{},"После возврата к ",[45,1593,172],{}," THP будут выделяться только для областей памяти, которые приложение явно запросило через ",[45,1596,172],{},", что снижает риск фрагментации, но может ограничить выгоду для неподготовленных приложений.",[16,1599,563],{"id":562},[21,1601,1602],{},"После любых изменений (временных или постоянных) обязательно проверьте:",[568,1604,1605,1610,1613,1616],{},[35,1606,1607,1608,926],{},"Активный режим THP командой ",[45,1609,836],{},[35,1611,1612],{},"Сохранение настроек после перезагрузки (если применяли постоянные методы).",[35,1614,1615],{},"Стабильность системы и производительность ключевых приложений. Если вы наблюдаете падение производительности, increased I/O wait или ошибки памяти, возможно, THP требуют другой настройки или полного отключения.",[35,1617,1618,1619,1622],{},"Для продвинутой проверки используйте ",[45,1620,1621],{},"cat /proc/vmstat | grep -i huge"," для статистики по huge page faults.",[16,1624,644],{"id":643},[32,1626,1627,1639,1668,1676,1685,1713],{},[35,1628,1629,1634,1635,1638],{},[650,1630,1631,1632],{},"Ошибка \"Permission denied\" при записи в ",[45,1633,987],{},": Убедитесь, что команда выполняется с sudo или от root. Используйте ",[45,1636,1637],{},"sudo tee"," как показано выше.",[35,1640,1641,1644,1645],{},[650,1642,1643],{},"Изменения не применяются после перезагрузки",":\n",[32,1646,1647,1656],{},[35,1648,1649,1650,1652,1653,1655],{},"Для sysctl: проверьте синтаксис в ",[45,1651,228],{}," (нет ли опечаток), выполните ",[45,1654,1551],{}," и проверьте вывод на ошибки.",[35,1657,1658,1659,1661,1662,1664,1665,66],{},"Для GRUB: убедитесь, что параметр добавлен в ",[45,1660,290],{},", а не в другие строки. После ",[45,1663,58],{}," проверьте, что параметр появился в меню загрузки (например, через ",[45,1666,1667],{},"cat /proc/cmdline",[35,1669,1670,1675],{},[650,1671,1672,1673],{},"THP остаются включенными несмотря на настройку ",[45,1674,176],{},": Некоторые дистрибутивы (особенно с патчами для облачных сред) могут принудительно включать THP. Проверьте документацию вашего дистрибутива. Также убедитесь, что нет других конфигураций (например, в systemd или скриптах инициализации), переопределяющих настройки.",[35,1677,1678,1681,1682,1684],{},[650,1679,1680],{},"Падение производительности после отключения THP",": Это возможно, если приложение было оптимизировано для huge pages. Протестируйте с режимом ",[45,1683,172],{}," — он часто дает баланс. Для специфичных приложений (например, Oracle DB) consult vendor документацию по настройке huge pages.",[35,1686,1687,1690,1691,1694,1695,1698,1699,1701,1702,1704,1705,903,1708,830,1710,1712],{},[650,1688,1689],{},"Высокий уровень фрагментации памяти при включенных THP",": Если ",[45,1692,1693],{},"cat /proc/sys/vm/compact_memory"," показывает активную дефрагментацию, или ",[45,1696,1697],{},"vmstat"," показывает высокий ",[45,1700,1522],{},", рассмотрите отключение THP или использование ",[45,1703,172],{},". Также можно настроить ",[45,1706,1707],{},"defrag",[45,1709,176],{},[45,1711,1137],{},", но это может снизить эффективность THP.",[35,1714,1715,1720,1721,1723],{},[650,1716,1717,1718],{},"Некорректный вывод в ",[45,1719,987],{},": В редких случаях файл может быть недоступен (например, в минималистичных контейнерах). Убедитесь, что ядро поддерживает THP (ядро >= 2.6.38) и что модуль ",[45,1722,1560],{}," загружен (обычно встроен в ядро).",[718,1725,1726],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":83,"searchDepth":146,"depth":146,"links":1728},[1729,1730,1731,1732,1733,1734,1735,1736,1737,1738],{"id":1011,"depth":146,"text":1012},{"id":1021,"depth":146,"text":1022},{"id":1054,"depth":146,"text":1055},{"id":1145,"depth":146,"text":1146},{"id":1217,"depth":146,"text":1218},{"id":1297,"depth":146,"text":1298},{"id":1396,"depth":146,"text":1397},{"id":1528,"depth":146,"text":1529},{"id":562,"depth":146,"text":563},{"id":643,"depth":146,"text":644},"2026-02-16 14:04:39","Узнайте, как управлять Transparent Hugepages в Linux для повышения производительности. Пошаговая инструкция с примерами команд и настройками. Оптимизируйте свою систему!",[1742,1745,1748,1751],{"question":1743,"answer":1744},"Что такое Transparent Hugepages и зачем они нужны?","Transparent Hugepages (THP) — это механизм ядра Linux, который автоматически управляет huge pages (страницами памяти 2MB/1GB) для снижения нагрузки на TLB и повышения производительности приложений с большим объемом памяти.",{"question":1746,"answer":1747},"Как проверить текущий статус Transparent Hugepages?","Выполните `cat /sys/kernel/mm/transparent_hugepage/enabled` — активный режим будет в квадратных скобках, например `[always]`. Также смотрите `/sys/kernel/mm/transparent_hugepage/defrag` для настроек дефрагментации.",{"question":1749,"answer":1750},"Включение Transparent Hugepages может вызвать проблемы?","Да, в некоторых случаях THP приводят к фрагментации памяти илиIncreased latency, особенно для баз данных. Рекомендуется тестировать в staging-среде перед применением в production.",{"question":1752,"answer":1753},"Как отключить Transparent Hugepages на постоянной основе?","Добавьте `vm.transparent_hugepage=never` в `/etc/sysctl.conf` и выполните `sudo sysctl -p`, либо передайте параметр `transparent_hugepage=never` через GRUB и перезагрузите систему.",[1755,1758,1761,1764,1767,1770],{"name":1756,"text":1757},"Проверка текущего статуса THP","Выполните `cat /sys/kernel/mm/transparent_hugepage/enabled` чтобы увидеть активный режим (always, madvise, never). Проверьте также defrag настройки.",{"name":1759,"text":1760},"Временное изменение режима THP","Используйте `echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled` для отключения (замените never на always/madvise). Изменения действуют до перезагрузки.",{"name":1762,"text":1763},"Постоянная настройка через sysctl","Добавьте `vm.transparent_hugepage=never` в `/etc/sysctl.conf`, затем примените `sudo sysctl -p`. Это сохранит настройку после перезагрузки.",{"name":1765,"text":1766},"Настройка через параметры ядра (GRUB)","Добавьте `transparent_hugepage=never` в `GRUB_CMDLINE_LINUX` в `/etc/default/grub`, выполните `sudo update-grub` и перезагрузитесь.",{"name":1768,"text":1769},"Проверка и мониторинг после изменений","После перезагрузки повторно проверьте статус THP. Мониторьте систему через `vmstat`, `sar` или `htop` на предмет изменений в производительности и фрагментации памяти.",{"name":1771,"text":1772},"Возврат к настройкам по умолчанию","Для возврата к автоматическому управлению установите режим `madvise` (часто default) через sysctl или GRUB, либо временно `echo madvise > /sys/kernel/mm/transparent_hugepage/enabled`.","PT20M",[1775,1776,1777,1778,1779,1780,1781,1782,1783,1784],"transparent hugepages linux","управление hugepages в linux","как включить transparent hugepages","отключить transparent hugepages","настройка hugepages для производительности","transparent hugepages проблемы","hugepages и transparent hugepages разница","оптимизация памяти linux hugepages","проверка статуса hugepages","transparent hugepages sysctl",{},[1787,790,1788],"/guides/linux/memory-optimization","/guides/linux/performance-monitoring","Гайды Linux",{"title":1001,"description":1740},"guides/linux/transparent-hugepages-management","Этот гайд поможет вам понять, что такое Transparent Hugepages, как их включить, отключить или настроить в Linux, и как это влияет на производительность системы.",[787,660,1794,51,797,1795,1796],"performance tuning","администрирование","оптимизация","v3v6xL7wn_F3IxRZmlM3d2VKUUHASqAg-aNr50uc9Yc"]