[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/transparent-hugepages-management":3,"mdc-c9h6lx-key":891,"mdc-9o1oi8-key":901,"mdc--5266tz-key":933,"mdc-wf2yiv-key":941,"mdc-wh4quk-key":978,"mdc-ake6a7-key":993,"mdc-cwgvtq-key":1009,"mdc--co827p-key":1037,"mdc-ikm43j-key":1073,"mdc--o449l4-key":1103,"related-/guides/linux/memory-optimization,/guides/linux/sysctl-tuning,/guides/linux/performance-monitoring":1126},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":818,"code":818,"createdAt":819,"description":820,"difficulty":821,"draft":822,"estimatedTime":823,"extension":824,"faq":825,"howToSteps":838,"howToTotalTime":857,"image":818,"keywords":858,"locale":869,"meta":870,"navigation":871,"path":872,"platform":873,"related":874,"section":878,"seo":879,"severity":821,"stem":880,"summary":881,"tags":882,"twitterCreator":818,"twitterSite":818,"type":889,"updatedAt":819,"__hash__":890},"content_ru/guides/linux/transparent-hugepages-management.md","Transparent Hugepages: управление и тонкая настройка в Linux",[7,8,9,10],"Linux kernel 2.6.38 и выше","Ubuntu 16.04+","CentOS 7/RHEL 7+","Debian 9+","FixPedia Team",{"type":13,"value":14,"toc":805},"minimark",[15,20,24,27,31,34,63,67,70,95,98,120,123,131,143,146,158,177,181,184,210,216,236,254,257,261,264,280,283,289,295,301,304,319,326,343,347,350,449,452,455,459,462,592,596,602,658,667,671,674,695,699,801],[16,17,19],"h2",{"id":18},"введение","Введение",[21,22,23],"p",{},"Transparent Hugepages (THP) — это функция ядра Linux, которая автоматически управляет huge pages (страницами памяти размером 2MB или 1GB) без явного выделения приложением. Цель THP — уменьшить количество записей в TLB (Translation Lookaside Buffer), снизить накладные расходы на обработку страниц памяти и повысить общую производительность, особенно для приложений, интенсивно использующих память, таких как СУБД (PostgreSQL, MySQL), виртуальные машины или системы in-memory обработки данных.",[21,25,26],{},"Однако THP не всегда подходят оптимально: в некоторых сценариях они могут вызывать фрагментацию памяти, увеличивать latency или конфликтовать с numa-оптимизациями. Поэтому управление THP — важная задача для системных администраторов и DevOps-инженеров. Этот гайд подробно объясняет, как проверить текущий статус THP, временно или постоянно изменить их режим, и как мониторить влияние на систему.",[16,28,30],{"id":29},"требования","Требования",[21,32,33],{},"Перед началом убедитесь, что ваша система соответствует следующим условиям:",[35,36,37,45,51,57],"ul",{},[38,39,40,44],"li",{},[41,42,43],"strong",{},"Операционная система",": Linux с ядром версии 2.6.38 или выше (THP появились в 2.6.38, большинство современных дистрибутивов поддерживают).",[38,46,47,50],{},[41,48,49],{},"Права доступа",": требуется доступ root или sudo для изменения системных файлов и конфигураций.",[38,52,53,56],{},[41,54,55],{},"Инструменты",": доступ к командной строке (терминал), базовые знания команд Linux (cat, echo, nano/vim), а также понимание работы sysctl и GRUB.",[38,58,59,62],{},[41,60,61],{},"Рекомендации",": перед внесением изменений в production-среде рекомендуется протестировать на staging-сервере или для конкретного приложения, чтобы оценить влияние на производительность.",[16,64,66],{"id":65},"шаг-1-проверка-текущего-статуса-transparent-hugepages","Шаг 1: Проверка текущего статуса Transparent Hugepages",[21,68,69],{},"Первым делом необходимо определить, в каком режиме работают THP в вашей системе. Ядро Linux предоставляет три режима:",[35,71,72,79,89],{},[38,73,74,78],{},[75,76,77],"code",{},"always"," — THP всегда пытаются выделяться для новых областей памяти.",[38,80,81,84,85,88],{},[75,82,83],{},"madvise"," — THP выделяются только для областей, явно помеченных приложением через ",[75,86,87],{},"madvise(MADV_HUGEPAGE)",".",[38,90,91,94],{},[75,92,93],{},"never"," — THP полностью отключены.",[21,96,97],{},"Выполните команду для просмотра активного режима:",[99,100,105],"pre",{"className":101,"code":102,"language":103,"meta":104,"style":104},"language-bash shiki shiki-themes github-light github-dark","cat /sys/kernel/mm/transparent_hugepage/enabled\n","bash","",[75,106,107],{"__ignoreMap":104},[108,109,112,116],"span",{"class":110,"line":111},"line",1,[108,113,115],{"class":114},"sScJk","cat",[108,117,119],{"class":118},"sZZnC"," /sys/kernel/mm/transparent_hugepage/enabled\n",[21,121,122],{},"Типичный вывод:",[99,124,129],{"className":125,"code":127,"language":128},[126],"language-text","always madvise [never]\n","text",[75,130,127],{"__ignoreMap":104},[21,132,133,134,136,137,139,140,88],{},"Квадратные скобки указывают на текущий активный режим — в данном случае ",[75,135,93],{},". Если активен ",[75,138,77],{},", вывод будет ",[75,141,142],{},"[always] madvise never",[21,144,145],{},"Также проверьте настройки дефрагментации памяти, которые влияют на агрессивность THP:",[99,147,149],{"className":101,"code":148,"language":103,"meta":104,"style":104},"cat /sys/kernel/mm/transparent_hugepage/defrag\n",[75,150,151],{"__ignoreMap":104},[108,152,153,155],{"class":110,"line":111},[108,154,115],{"class":114},[108,156,157],{"class":118}," /sys/kernel/mm/transparent_hugepage/defrag\n",[21,159,160,161,163,164,163,166,168,169,172,173,168,175,88],{},"Вывод может включать значения ",[75,162,77],{},", ",[75,165,83],{},[75,167,93],{}," или ",[75,170,171],{},"defer",". Дефрагментация может добавлять overhead, поэтому в production часто используют ",[75,174,83],{},[75,176,93],{},[16,178,180],{"id":179},"шаг-2-временное-изменение-режима-thp","Шаг 2: Временное изменение режима THP",[21,182,183],{},"Для быстрого тестирования или временного отключения THP (действует до перезагрузки) запишите нужное значение в соответствующий sysfs-файл. Например, чтобы отключить THP:",[99,185,187],{"className":101,"code":186,"language":103,"meta":104,"style":104},"echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled\n",[75,188,189],{"__ignoreMap":104},[108,190,191,195,198,202,205,208],{"class":110,"line":111},[108,192,194],{"class":193},"sj4cs","echo",[108,196,197],{"class":118}," never",[108,199,201],{"class":200},"szBVR"," |",[108,203,204],{"class":114}," sudo",[108,206,207],{"class":118}," tee",[108,209,119],{"class":118},[21,211,212,213,215],{},"Если вы хотите временно включить THP в режиме ",[75,214,77],{},":",[99,217,219],{"className":101,"code":218,"language":103,"meta":104,"style":104},"echo always | sudo tee /sys/kernel/mm/transparent_hugepage/enabled\n",[75,220,221],{"__ignoreMap":104},[108,222,223,225,228,230,232,234],{"class":110,"line":111},[108,224,194],{"class":193},[108,226,227],{"class":118}," always",[108,229,201],{"class":200},[108,231,204],{"class":114},[108,233,207],{"class":118},[108,235,119],{"class":118},[237,238,239],"blockquote",{},[21,240,241,242,245,246,249,250,253],{},"⚠️ ",[41,243,244],{},"Важно",": Некоторые системы могут требовать использования ",[75,247,248],{},"sudo sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'",", если ",[75,251,252],{},"tee"," недоступен. Убедитесь, что команда выполняется с правами root.",[21,255,256],{},"После изменения проверьте статус повторно (как в Шаге 1), чтобы подтвердить смену режима. Это полезно для быстрой диагностики: если проблема с производительностью исчезла после отключения THP, возможно, они были причиной.",[16,258,260],{"id":259},"шаг-3-постоянная-настройка-через-sysctl","Шаг 3: Постоянная настройка через sysctl",[21,262,263],{},"Чтобы изменения сохранялись после перезагрузки, используйте механизм sysctl. Откройте конфигурационный файл sysctl:",[99,265,267],{"className":101,"code":266,"language":103,"meta":104,"style":104},"sudo nano /etc/sysctl.conf\n",[75,268,269],{"__ignoreMap":104},[108,270,271,274,277],{"class":110,"line":111},[108,272,273],{"class":114},"sudo",[108,275,276],{"class":118}," nano",[108,278,279],{"class":118}," /etc/sysctl.conf\n",[21,281,282],{},"Добавьте строку (для отключения THP):",[99,284,287],{"className":285,"code":286,"language":128},[126],"vm.transparent_hugepage=never\n",[75,288,286],{"__ignoreMap":104},[21,290,291,292,294],{},"Для режима ",[75,293,83],{}," (часто рекомендуется как баланс):",[99,296,299],{"className":297,"code":298,"language":128},[126],"vm.transparent_hugepage=madvise\n",[75,300,298],{"__ignoreMap":104},[21,302,303],{},"Сохраните файл (Ctrl+O, Enter, Ctrl+X в nano) и примените настройки без перезагрузки:",[99,305,307],{"className":101,"code":306,"language":103,"meta":104,"style":104},"sudo sysctl -p\n",[75,308,309],{"__ignoreMap":104},[108,310,311,313,316],{"class":110,"line":111},[108,312,273],{"class":114},[108,314,315],{"class":118}," sysctl",[108,317,318],{"class":193}," -p\n",[21,320,321,322,325],{},"Команда перечитает ",[75,323,324],{},"/etc/sysctl.conf"," и применит параметры. Проверьте статус THP — теперь настройка должна сохраниться после следующей перезагрузки.",[237,327,328],{},[21,329,330,331,334,335,338,339,342],{},"💡 ",[41,332,333],{},"Совет",": Если вы используете отдельный файл в ",[75,336,337],{},"/etc/sysctl.d/"," (например, ",[75,340,341],{},"/etc/sysctl.d/99-thp.conf","), это позволит легко управлять настройками без редактирования основного файла.",[16,344,346],{"id":345},"шаг-4-настройка-через-параметры-ядра-grub","Шаг 4: Настройка через параметры ядра (GRUB)",[21,348,349],{},"Альтернативный (и часто более надежный для некоторых дистрибутивов) способ — передать параметр ядра через загрузчик GRUB. Это особенно полезно, если sysctl-настройки переопределяются другими механизмами.",[351,352,353,370,393,434],"ol",{},[38,354,355,356],{},"Отредактируйте конфигурацию GRUB:\n",[99,357,359],{"className":101,"code":358,"language":103,"meta":104,"style":104},"sudo nano /etc/default/grub\n",[75,360,361],{"__ignoreMap":104},[108,362,363,365,367],{"class":110,"line":111},[108,364,273],{"class":114},[108,366,276],{"class":118},[108,368,369],{"class":118}," /etc/default/grub\n",[38,371,372,373,376,377,380,381,163,383,385,386,392],{},"Найдите строку ",[75,374,375],{},"GRUB_CMDLINE_LINUX"," и добавьте параметр ",[75,378,379],{},"transparent_hugepage=never"," (или ",[75,382,77],{},[75,384,83],{},"). Пример:\n",[99,387,390],{"className":388,"code":389,"language":128},[126],"GRUB_CMDLINE_LINUX=\"transparent_hugepage=never quiet splash\"\n",[75,391,389],{"__ignoreMap":104},"\nЕсли строка уже содержит другие параметры, разделите их пробелами.",[38,394,395,396],{},"Обновите конфигурацию GRUB:\n",[35,397,398,413],{},[38,399,400,401],{},"Для Ubuntu/Debian:\n",[99,402,404],{"className":101,"code":403,"language":103,"meta":104,"style":104},"sudo update-grub\n",[75,405,406],{"__ignoreMap":104},[108,407,408,410],{"class":110,"line":111},[108,409,273],{"class":114},[108,411,412],{"class":118}," update-grub\n",[38,414,415,416],{},"Для CentOS/RHEL/Fedora:\n",[99,417,419],{"className":101,"code":418,"language":103,"meta":104,"style":104},"sudo grub2-mkconfig -o /boot/grub2/grub.cfg\n",[75,420,421],{"__ignoreMap":104},[108,422,423,425,428,431],{"class":110,"line":111},[108,424,273],{"class":114},[108,426,427],{"class":118}," grub2-mkconfig",[108,429,430],{"class":193}," -o",[108,432,433],{"class":118}," /boot/grub2/grub.cfg\n",[38,435,436,437],{},"Перезагрузите систему:\n",[99,438,440],{"className":101,"code":439,"language":103,"meta":104,"style":104},"sudo reboot\n",[75,441,442],{"__ignoreMap":104},[108,443,444,446],{"class":110,"line":111},[108,445,273],{"class":114},[108,447,448],{"class":118}," reboot\n",[21,450,451],{},"После перезагрузки проверьте статус THP — параметр ядра должен иметь приоритет.",[453,454],"in-article-ad",{},[16,456,458],{"id":457},"шаг-5-проверка-и-мониторинг-после-изменений","Шаг 5: Проверка и мониторинг после изменений",[21,460,461],{},"После применения настроек (особенно через GRUB, требующее перезагрузки) важно убедиться, что изменения вступили в силу, и оценить их влияние на производительность.",[351,463,464,483,563],{},[38,465,466,215,469,479,482],{},[41,467,468],{},"Проверка статуса THP",[99,470,471],{"className":101,"code":102,"language":103,"meta":104,"style":104},[75,472,473],{"__ignoreMap":104},[108,474,475,477],{"class":110,"line":111},[108,476,115],{"class":114},[108,478,119],{"class":118},[480,481],"br",{},"Убедитесь, что активен ожидаемый режим.",[38,484,485,215,488],{},[41,486,487],{},"Мониторинг использования памяти",[35,489,490,497,538],{},[38,491,492,493,496],{},"Используйте ",[75,494,495],{},"free -h"," для общего обзора памяти.",[38,498,499,500,523,524,163,527,530,531,534,535,88],{},"Для детального анализа hugepages:\n",[99,501,503],{"className":101,"code":502,"language":103,"meta":104,"style":104},"cat /proc/meminfo | grep -i huge\n",[75,504,505],{"__ignoreMap":104},[108,506,507,509,512,514,517,520],{"class":110,"line":111},[108,508,115],{"class":114},[108,510,511],{"class":118}," /proc/meminfo",[108,513,201],{"class":200},[108,515,516],{"class":114}," grep",[108,518,519],{"class":193}," -i",[108,521,522],{"class":118}," huge\n","\nОбратите внимание на ",[75,525,526],{},"HugePages_Total",[75,528,529],{},"HugePages_Free"," (это для явных hugepages, а не THP), но THP также могут влиять на ",[75,532,533],{},"AnonHugePages"," в ",[75,536,537],{},"/proc/meminfo",[38,539,540,541,544,545,163,548,551,552,163,555,558,559,562],{},"Инструменты вроде ",[75,542,543],{},"vmstat 1"," (смотрим столбцы ",[75,546,547],{},"si",[75,549,550],{},"so"," для swap активности, ",[75,553,554],{},"us",[75,556,557],{},"sy"," для CPU) или ",[75,560,561],{},"sar -r 1"," для истории.",[38,564,565,215,568],{},[41,566,567],{},"Оценка производительности приложений",[35,569,570,573,583],{},[38,571,572],{},"Для баз данных: проверьте latency запросов, количество операций в секунду.",[38,574,575,576,168,579,582],{},"Для общих нагрузок: используйте ",[75,577,578],{},"perf",[75,580,581],{},"pidstat"," для анализа системных вызовов и TLB-misses.",[38,584,585,586,589,590,88],{},"Если THP вызвали проблемы (например, высокий ",[75,587,588],{},"pgfault"," или латенси), рассмотрите отключение или переход в режим ",[75,591,83],{},[16,593,595],{"id":594},"шаг-6-возврат-к-настройкам-по-умолчанию","Шаг 6: Возврат к настройкам по умолчанию",[21,597,598,599,601],{},"Если вы решили, что THP лучше управлять автоматически (режим ",[75,600,83],{}," часто является default в современных дистрибутивах), выполните:",[35,603,604,619,632],{},[38,605,606,609,610,534,613,615,616,88],{},[41,607,608],{},"Через sysctl",": установите ",[75,611,612],{},"vm.transparent_hugepage=madvise",[75,614,324],{}," и примените ",[75,617,618],{},"sudo sysctl -p",[38,620,621,624,625,628,629,631],{},[41,622,623],{},"Через GRUB",": удалите или закомментируйте параметр ",[75,626,627],{},"transparent_hugepage"," из ",[75,630,375],{},", обновите GRUB и перезагрузитесь.",[38,633,634,637,638],{},[41,635,636],{},"Временно"," (до перезагрузки):\n",[99,639,641],{"className":101,"code":640,"language":103,"meta":104,"style":104},"echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled\n",[75,642,643],{"__ignoreMap":104},[108,644,645,647,650,652,654,656],{"class":110,"line":111},[108,646,194],{"class":193},[108,648,649],{"class":118}," madvise",[108,651,201],{"class":200},[108,653,204],{"class":114},[108,655,207],{"class":118},[108,657,119],{"class":118},[21,659,660,661,663,664,666],{},"После возврата к ",[75,662,83],{}," THP будут выделяться только для областей памяти, которые приложение явно запросило через ",[75,665,83],{},", что снижает риск фрагментации, но может ограничить выгоду для неподготовленных приложений.",[16,668,670],{"id":669},"проверка-результата","Проверка результата",[21,672,673],{},"После любых изменений (временных или постоянных) обязательно проверьте:",[351,675,676,682,685,688],{},[38,677,678,679,88],{},"Активный режим THP командой ",[75,680,681],{},"cat /sys/kernel/mm/transparent_hugepage/enabled",[38,683,684],{},"Сохранение настроек после перезагрузки (если применяли постоянные методы).",[38,686,687],{},"Стабильность системы и производительность ключевых приложений. Если вы наблюдаете падение производительности, increased I/O wait или ошибки памяти, возможно, THP требуют другой настройки или полного отключения.",[38,689,690,691,694],{},"Для продвинутой проверки используйте ",[75,692,693],{},"cat /proc/vmstat | grep -i huge"," для статистики по huge page faults.",[16,696,698],{"id":697},"возможные-проблемы","Возможные проблемы",[35,700,701,714,745,753,762,790],{},[38,702,703,709,710,713],{},[41,704,705,706],{},"Ошибка \"Permission denied\" при записи в ",[75,707,708],{},"/sys/kernel/mm/transparent_hugepage/enabled",": Убедитесь, что команда выполняется с sudo или от root. Используйте ",[75,711,712],{},"sudo tee"," как показано выше.",[38,715,716,719,720],{},[41,717,718],{},"Изменения не применяются после перезагрузки",":\n",[35,721,722,731],{},[38,723,724,725,727,728,730],{},"Для sysctl: проверьте синтаксис в ",[75,726,324],{}," (нет ли опечаток), выполните ",[75,729,618],{}," и проверьте вывод на ошибки.",[38,732,733,734,736,737,740,741,744],{},"Для GRUB: убедитесь, что параметр добавлен в ",[75,735,375],{},", а не в другие строки. После ",[75,738,739],{},"update-grub"," проверьте, что параметр появился в меню загрузки (например, через ",[75,742,743],{},"cat /proc/cmdline",").",[38,746,747,752],{},[41,748,749,750],{},"THP остаются включенными несмотря на настройку ",[75,751,93],{},": Некоторые дистрибутивы (особенно с патчами для облачных сред) могут принудительно включать THP. Проверьте документацию вашего дистрибутива. Также убедитесь, что нет других конфигураций (например, в systemd или скриптах инициализации), переопределяющих настройки.",[38,754,755,758,759,761],{},[41,756,757],{},"Падение производительности после отключения THP",": Это возможно, если приложение было оптимизировано для huge pages. Протестируйте с режимом ",[75,760,83],{}," — он часто дает баланс. Для специфичных приложений (например, Oracle DB) consult vendor документацию по настройке huge pages.",[38,763,764,767,768,771,772,775,776,778,779,781,782,534,785,168,787,789],{},[41,765,766],{},"Высокий уровень фрагментации памяти при включенных THP",": Если ",[75,769,770],{},"cat /proc/sys/vm/compact_memory"," показывает активную дефрагментацию, или ",[75,773,774],{},"vmstat"," показывает высокий ",[75,777,588],{},", рассмотрите отключение THP или использование ",[75,780,83],{},". Также можно настроить ",[75,783,784],{},"defrag",[75,786,93],{},[75,788,171],{},", но это может снизить эффективность THP.",[38,791,792,797,798,800],{},[41,793,794,795],{},"Некорректный вывод в ",[75,796,708],{},": В редких случаях файл может быть недоступен (например, в минималистичных контейнерах). Убедитесь, что ядро поддерживает THP (ядро >= 2.6.38) и что модуль ",[75,799,627],{}," загружен (обычно встроен в ядро).",[802,803,804],"style",{},"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":104,"searchDepth":806,"depth":806,"links":807},2,[808,809,810,811,812,813,814,815,816,817],{"id":18,"depth":806,"text":19},{"id":29,"depth":806,"text":30},{"id":65,"depth":806,"text":66},{"id":179,"depth":806,"text":180},{"id":259,"depth":806,"text":260},{"id":345,"depth":806,"text":346},{"id":457,"depth":806,"text":458},{"id":594,"depth":806,"text":595},{"id":669,"depth":806,"text":670},{"id":697,"depth":806,"text":698},null,"2026-02-16 14:04:39","Узнайте, как управлять Transparent Hugepages в Linux для повышения производительности. Пошаговая инструкция с примерами команд и настройками. Оптимизируйте свою систему!","medium",false,"15-30 мин","md",[826,829,832,835],{"question":827,"answer":828},"Что такое Transparent Hugepages и зачем они нужны?","Transparent Hugepages (THP) — это механизм ядра Linux, который автоматически управляет huge pages (страницами памяти 2MB/1GB) для снижения нагрузки на TLB и повышения производительности приложений с большим объемом памяти.",{"question":830,"answer":831},"Как проверить текущий статус Transparent Hugepages?","Выполните `cat /sys/kernel/mm/transparent_hugepage/enabled` — активный режим будет в квадратных скобках, например `[always]`. Также смотрите `/sys/kernel/mm/transparent_hugepage/defrag` для настроек дефрагментации.",{"question":833,"answer":834},"Включение Transparent Hugepages может вызвать проблемы?","Да, в некоторых случаях THP приводят к фрагментации памяти илиIncreased latency, особенно для баз данных. Рекомендуется тестировать в staging-среде перед применением в production.",{"question":836,"answer":837},"Как отключить Transparent Hugepages на постоянной основе?","Добавьте `vm.transparent_hugepage=never` в `/etc/sysctl.conf` и выполните `sudo sysctl -p`, либо передайте параметр `transparent_hugepage=never` через GRUB и перезагрузите систему.",[839,842,845,848,851,854],{"name":840,"text":841},"Проверка текущего статуса THP","Выполните `cat /sys/kernel/mm/transparent_hugepage/enabled` чтобы увидеть активный режим (always, madvise, never). Проверьте также defrag настройки.",{"name":843,"text":844},"Временное изменение режима THP","Используйте `echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled` для отключения (замените never на always/madvise). Изменения действуют до перезагрузки.",{"name":846,"text":847},"Постоянная настройка через sysctl","Добавьте `vm.transparent_hugepage=never` в `/etc/sysctl.conf`, затем примените `sudo sysctl -p`. Это сохранит настройку после перезагрузки.",{"name":849,"text":850},"Настройка через параметры ядра (GRUB)","Добавьте `transparent_hugepage=never` в `GRUB_CMDLINE_LINUX` в `/etc/default/grub`, выполните `sudo update-grub` и перезагрузитесь.",{"name":852,"text":853},"Проверка и мониторинг после изменений","После перезагрузки повторно проверьте статус THP. Мониторьте систему через `vmstat`, `sar` или `htop` на предмет изменений в производительности и фрагментации памяти.",{"name":855,"text":856},"Возврат к настройкам по умолчанию","Для возврата к автоматическому управлению установите режим `madvise` (часто default) через sysctl или GRUB, либо временно `echo madvise > /sys/kernel/mm/transparent_hugepage/enabled`.","PT20M",[859,860,861,862,863,864,865,866,867,868],"transparent hugepages linux","управление hugepages в linux","как включить transparent hugepages","отключить transparent hugepages","настройка hugepages для производительности","transparent hugepages проблемы","hugepages и transparent hugepages разница","оптимизация памяти linux hugepages","проверка статуса hugepages","transparent hugepages sysctl","ru_RU",{},true,"/guides/linux/transparent-hugepages-management","linux",[875,876,877],"/guides/linux/memory-optimization","/guides/linux/sysctl-tuning","/guides/linux/performance-monitoring","Гайды Linux",{"title":5,"description":820},"guides/linux/transparent-hugepages-management","Этот гайд поможет вам понять, что такое Transparent Hugepages, как их включить, отключить или настроить в Linux, и как это влияет на производительность системы.",[873,883,884,885,886,887,888],"hugepages","performance tuning","sysctl","memory management","администрирование","оптимизация","guide","v3v6xL7wn_F3IxRZmlM3d2VKUUHASqAg-aNr50uc9Yc",{"data":892,"body":893},{},{"type":894,"children":895},"root",[896],{"type":897,"tag":21,"props":898,"children":899},"element",{},[900],{"type":128,"value":828},{"data":902,"body":903},{},{"type":894,"children":904},[905],{"type":897,"tag":21,"props":906,"children":907},{},[908,910,915,917,923,925,931],{"type":128,"value":909},"Выполните ",{"type":897,"tag":75,"props":911,"children":913},{"className":912},[],[914],{"type":128,"value":681},{"type":128,"value":916}," — активный режим будет в квадратных скобках, например ",{"type":897,"tag":75,"props":918,"children":920},{"className":919},[],[921],{"type":128,"value":922},"[always]",{"type":128,"value":924},". Также смотрите ",{"type":897,"tag":75,"props":926,"children":928},{"className":927},[],[929],{"type":128,"value":930},"/sys/kernel/mm/transparent_hugepage/defrag",{"type":128,"value":932}," для настроек дефрагментации.",{"data":934,"body":935},{},{"type":894,"children":936},[937],{"type":897,"tag":21,"props":938,"children":939},{},[940],{"type":128,"value":834},{"data":942,"body":943},{},{"type":894,"children":944},[945],{"type":897,"tag":21,"props":946,"children":947},{},[948,950,956,957,962,964,969,971,976],{"type":128,"value":949},"Добавьте ",{"type":897,"tag":75,"props":951,"children":953},{"className":952},[],[954],{"type":128,"value":955},"vm.transparent_hugepage=never",{"type":128,"value":534},{"type":897,"tag":75,"props":958,"children":960},{"className":959},[],[961],{"type":128,"value":324},{"type":128,"value":963}," и выполните ",{"type":897,"tag":75,"props":965,"children":967},{"className":966},[],[968],{"type":128,"value":618},{"type":128,"value":970},", либо передайте параметр ",{"type":897,"tag":75,"props":972,"children":974},{"className":973},[],[975],{"type":128,"value":379},{"type":128,"value":977}," через GRUB и перезагрузите систему.",{"data":979,"body":980},{},{"type":894,"children":981},[982],{"type":897,"tag":21,"props":983,"children":984},{},[985,986,991],{"type":128,"value":909},{"type":897,"tag":75,"props":987,"children":989},{"className":988},[],[990],{"type":128,"value":681},{"type":128,"value":992}," чтобы увидеть активный режим (always, madvise, never). Проверьте также defrag настройки.",{"data":994,"body":995},{},{"type":894,"children":996},[997],{"type":897,"tag":21,"props":998,"children":999},{},[1000,1001,1007],{"type":128,"value":492},{"type":897,"tag":75,"props":1002,"children":1004},{"className":1003},[],[1005],{"type":128,"value":1006},"echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled",{"type":128,"value":1008}," для отключения (замените never на always/madvise). Изменения действуют до перезагрузки.",{"data":1010,"body":1011},{},{"type":894,"children":1012},[1013],{"type":897,"tag":21,"props":1014,"children":1015},{},[1016,1017,1022,1023,1028,1030,1035],{"type":128,"value":949},{"type":897,"tag":75,"props":1018,"children":1020},{"className":1019},[],[1021],{"type":128,"value":955},{"type":128,"value":534},{"type":897,"tag":75,"props":1024,"children":1026},{"className":1025},[],[1027],{"type":128,"value":324},{"type":128,"value":1029},", затем примените ",{"type":897,"tag":75,"props":1031,"children":1033},{"className":1032},[],[1034],{"type":128,"value":618},{"type":128,"value":1036},". Это сохранит настройку после перезагрузки.",{"data":1038,"body":1039},{},{"type":894,"children":1040},[1041],{"type":897,"tag":21,"props":1042,"children":1043},{},[1044,1045,1050,1051,1056,1057,1063,1065,1071],{"type":128,"value":949},{"type":897,"tag":75,"props":1046,"children":1048},{"className":1047},[],[1049],{"type":128,"value":379},{"type":128,"value":534},{"type":897,"tag":75,"props":1052,"children":1054},{"className":1053},[],[1055],{"type":128,"value":375},{"type":128,"value":534},{"type":897,"tag":75,"props":1058,"children":1060},{"className":1059},[],[1061],{"type":128,"value":1062},"/etc/default/grub",{"type":128,"value":1064},", выполните ",{"type":897,"tag":75,"props":1066,"children":1068},{"className":1067},[],[1069],{"type":128,"value":1070},"sudo update-grub",{"type":128,"value":1072}," и перезагрузитесь.",{"data":1074,"body":1075},{},{"type":894,"children":1076},[1077],{"type":897,"tag":21,"props":1078,"children":1079},{},[1080,1082,1087,1088,1094,1095,1101],{"type":128,"value":1081},"После перезагрузки повторно проверьте статус THP. Мониторьте систему через ",{"type":897,"tag":75,"props":1083,"children":1085},{"className":1084},[],[1086],{"type":128,"value":774},{"type":128,"value":163},{"type":897,"tag":75,"props":1089,"children":1091},{"className":1090},[],[1092],{"type":128,"value":1093},"sar",{"type":128,"value":168},{"type":897,"tag":75,"props":1096,"children":1098},{"className":1097},[],[1099],{"type":128,"value":1100},"htop",{"type":128,"value":1102}," на предмет изменений в производительности и фрагментации памяти.",{"data":1104,"body":1105},{},{"type":894,"children":1106},[1107],{"type":897,"tag":21,"props":1108,"children":1109},{},[1110,1112,1117,1119,1125],{"type":128,"value":1111},"Для возврата к автоматическому управлению установите режим ",{"type":897,"tag":75,"props":1113,"children":1115},{"className":1114},[],[1116],{"type":128,"value":83},{"type":128,"value":1118}," (часто default) через sysctl или GRUB, либо временно ",{"type":897,"tag":75,"props":1120,"children":1122},{"className":1121},[],[1123],{"type":128,"value":1124},"echo madvise > /sys/kernel/mm/transparent_hugepage/enabled",{"type":128,"value":88},[1127],{"id":1128,"title":1129,"appliesTo":1130,"author":11,"body":1135,"canonical":818,"code":818,"createdAt":2164,"description":2165,"difficulty":821,"draft":822,"estimatedTime":823,"extension":824,"faq":2166,"howToSteps":2179,"howToTotalTime":857,"image":818,"keywords":2198,"locale":869,"meta":2208,"navigation":871,"path":877,"platform":873,"related":2209,"section":878,"seo":2213,"severity":818,"stem":2214,"summary":2215,"tags":2216,"twitterCreator":818,"twitterSite":818,"type":889,"updatedAt":2164,"__hash__":2221},"content_ru/guides/linux/performance-monitoring.md","Мониторинг производительности Linux: полное руководство",[1131,1132,1133,1134],"Ubuntu 20.04+","CentOS/RHEL 8+","Debian 11+","Linux ядро 4.14+",{"type":13,"value":1136,"toc":2152},[1137,1141,1148,1152,1155,1186,1190,1206,1315,1320,1354,1356,1360,1371,1380,1386,1422,1430,1439,1449,1453,1456,1467,1484,1487,1499,1502,1526,1536,1540,1545,1560,1567,1596,1601,1607,1623,1635,1639,1642,1645,1659,1686,1689,1714,1717,1738,1742,1751,1963,1965,1968,2021,2024,2026,2149],[16,1138,1140],{"id":1139},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,1142,1143,1144,1147],{},"Мониторинг производительности Linux — это не про сложные скрипты, а про ",[41,1145,1146],{},"быстрое понимание, что именно тормозит систему",". Без этого любые «сервер тормозит» — это гадание. Вы научитесь за 60 секунд определить: процессор, память, диск или сеть — источник проблемы. Это базовый навык для администрирования любого Linux-сервера, от домашнего до продакшн.",[16,1149,1151],{"id":1150},"требования-подготовка","Требования / Подготовка",[21,1153,1154],{},"Перед началом убедитесь:",[351,1156,1157,1163,1173],{},[38,1158,1159,1160,1162],{},"У вас есть доступ к серверу по SSH с правами ",[41,1161,273],{}," (некоторые команды требуют root).",[38,1164,1165,1166,1169,1170,1172],{},"Установлены базовые утилиты. Мы начнём с установки ",[75,1167,1168],{},"sysstat"," и ",[75,1171,1100],{}," (шаг 1).",[38,1174,1175,1176,1179,1180,1169,1183,1185],{},"Вы находитесь в ",[41,1177,1178],{},"текстовом режиме"," (без графической оболочки) для чистоты эксперимента. Если используете GNOME/KDE, некоторые утилиты (htop) будут работать, но ",[75,1181,1182],{},"iostat",[75,1184,774],{}," — в терминале.",[16,1187,1189],{"id":1188},"шаг-1-установите-базовые-утилиты-мониторинга","Шаг 1: Установите базовые утилиты мониторинга",[21,1191,1192,1193,1195,1196,163,1199,163,1202,1205],{},"В большинстве минимальных установок Linux (особенно в контейнерах или на серверах) нет удобных инструментов вроде ",[75,1194,1100],{},". Стандартный набор (",[75,1197,1198],{},"top",[75,1200,1201],{},"free",[75,1203,1204],{},"df",") даёт только общую картину. Нам нужны детальные данные.",[99,1207,1209],{"className":101,"code":1208,"language":103,"meta":104,"style":104},"# Для Ubuntu/Debian\nsudo apt update\nsudo apt install sysstat htop iftop iotop -y\n\n# Для RHEL/CentOS/AlmaLinux\nsudo yum install sysstat htop iftop iotop -y\n\n# Для Fedora\nsudo dnf install sysstat htop iftop iotop -y\n",[75,1210,1211,1217,1227,1252,1258,1264,1284,1289,1295],{"__ignoreMap":104},[108,1212,1213],{"class":110,"line":111},[108,1214,1216],{"class":1215},"sJ8bj","# Для Ubuntu/Debian\n",[108,1218,1219,1221,1224],{"class":110,"line":806},[108,1220,273],{"class":114},[108,1222,1223],{"class":118}," apt",[108,1225,1226],{"class":118}," update\n",[108,1228,1230,1232,1234,1237,1240,1243,1246,1249],{"class":110,"line":1229},3,[108,1231,273],{"class":114},[108,1233,1223],{"class":118},[108,1235,1236],{"class":118}," install",[108,1238,1239],{"class":118}," sysstat",[108,1241,1242],{"class":118}," htop",[108,1244,1245],{"class":118}," iftop",[108,1247,1248],{"class":118}," iotop",[108,1250,1251],{"class":193}," -y\n",[108,1253,1255],{"class":110,"line":1254},4,[108,1256,1257],{"emptyLinePlaceholder":871},"\n",[108,1259,1261],{"class":110,"line":1260},5,[108,1262,1263],{"class":1215},"# Для RHEL/CentOS/AlmaLinux\n",[108,1265,1267,1269,1272,1274,1276,1278,1280,1282],{"class":110,"line":1266},6,[108,1268,273],{"class":114},[108,1270,1271],{"class":118}," yum",[108,1273,1236],{"class":118},[108,1275,1239],{"class":118},[108,1277,1242],{"class":118},[108,1279,1245],{"class":118},[108,1281,1248],{"class":118},[108,1283,1251],{"class":193},[108,1285,1287],{"class":110,"line":1286},7,[108,1288,1257],{"emptyLinePlaceholder":871},[108,1290,1292],{"class":110,"line":1291},8,[108,1293,1294],{"class":1215},"# Для Fedora\n",[108,1296,1298,1300,1303,1305,1307,1309,1311,1313],{"class":110,"line":1297},9,[108,1299,273],{"class":114},[108,1301,1302],{"class":118}," dnf",[108,1304,1236],{"class":118},[108,1306,1239],{"class":118},[108,1308,1242],{"class":118},[108,1310,1245],{"class":118},[108,1312,1248],{"class":118},[108,1314,1251],{"class":193},[21,1316,1317],{},[41,1318,1319],{},"Что устанавливаем:",[35,1321,1322,1337,1342,1348],{},[38,1323,1324,1326,1327,1329,1330,1333,1334,1336],{},[75,1325,1168],{}," — набор ",[75,1328,1182],{}," (диски), ",[75,1331,1332],{},"mpstat"," (ядра CPU), ",[75,1335,1093],{}," (история).",[38,1338,1339,1341],{},[75,1340,1100],{}," — улучшенный интерактивный просмотр процессов.",[38,1343,1344,1347],{},[75,1345,1346],{},"iftop"," — мониторинг сетевого трафика по соединениям.",[38,1349,1350,1353],{},[75,1351,1352],{},"iotop"," — мониторинг активности ввода-вывода по процессам (требует root).",[453,1355],{},[16,1357,1359],{"id":1358},"шаг-2-оцените-общую-загрузку-процессора-и-процессов","Шаг 2: Оцените общую загрузку процессора и процессов",[21,1361,1362,1363,1366,1367,1370],{},"Первое, что нужно понять — ",[41,1364,1365],{},"не «тормозит ли»",", а ",[41,1368,1369],{},"что именно нагружает систему",". Запустите:",[99,1372,1374],{"className":101,"code":1373,"language":103,"meta":104,"style":104},"htop\n",[75,1375,1376],{"__ignoreMap":104},[108,1377,1378],{"class":110,"line":111},[108,1379,1373],{"class":114},[21,1381,1382,1383,1385],{},"В ",[75,1384,1100],{}," вас интересует верхняя часть:",[35,1387,1388,1394,1404],{},[38,1389,1390,1393],{},[41,1391,1392],{},"CPU bars (CPU1, CPU2...)"," — показывают загрузку каждого ядра. Если все красные — процессор загружен.",[38,1395,1396,1399,1400,1403],{},[41,1397,1398],{},"Load average (load average 1, 5, 15 min)"," — средняя длина очереди процессов. ",[41,1401,1402],{},"Правило:"," значение_load average_ не должно существенно превышать количество ядер CPU. Например, на 4-ядерном сервере значения 4.0, 3.5, 2.0 — норма. 10.0, 8.0, 6.0 — критическая перегрузка.",[38,1405,1406,1409,1410,1413,1414,1417,1418,1421],{},[41,1407,1408],{},"Список процессов"," — сортируйте по ",[75,1411,1412],{},"%CPU"," (нажмите ",[75,1415,1416],{},"F6"," -> ",[75,1419,1420],{},"PERCENT_CPU","). Процесс, постоянно «зажирающий» 80-100% одного ядра — вероятный виновник.",[21,1423,1424,1425,1427,1428,215],{},"Если ",[75,1426,1100],{}," недоступен, используйте ",[75,1429,1198],{},[99,1431,1433],{"className":101,"code":1432,"language":103,"meta":104,"style":104},"top\n",[75,1434,1435],{"__ignoreMap":104},[108,1436,1437],{"class":110,"line":111},[108,1438,1432],{"class":114},[21,1440,1441,1442,1445,1446,88],{},"Нажмите ",[75,1443,1444],{},"1"," для показа загрузки каждого ядра. Выход — ",[75,1447,1448],{},"q",[16,1450,1452],{"id":1451},"шаг-3-проанализируйте-использование-памяти-и-подкачки","Шаг 3: Проанализируйте использование памяти и подкачки",[21,1454,1455],{},"Даже если CPU свободен, система может «тормозить» из-за нехватки RAM и активного использования swap-раздела.",[21,1457,1382,1458,1460,1461,1169,1464,215],{},[41,1459,1100],{}," смотрите строку ",[75,1462,1463],{},"Mem",[75,1465,1466],{},"Swp",[35,1468,1469,1475],{},[38,1470,1471,1474],{},[75,1472,1473],{},"Mem:"," покажет общий объём, использованный, буферы/кеш.",[38,1476,1477,1480,1481,88],{},[75,1478,1479],{},"Swp:"," если здесь есть ненулевые значения (особенно «used»), система активно использует диск как память — это ",[41,1482,1483],{},"очень медленно",[21,1485,1486],{},"Для точных цифр:",[99,1488,1490],{"className":101,"code":1489,"language":103,"meta":104,"style":104},"free -h\n",[75,1491,1492],{"__ignoreMap":104},[108,1493,1494,1496],{"class":110,"line":111},[108,1495,1201],{"class":114},[108,1497,1498],{"class":193}," -h\n",[21,1500,1501],{},"Ключевые колонки:",[35,1503,1504,1510,1520],{},[38,1505,1506,1509],{},[75,1507,1508],{},"used"," — сколько памяти занято.",[38,1511,1512,1515,1516,1519],{},[75,1513,1514],{},"available"," — ",[41,1517,1518],{},"самая важная"," оценка памяти, которую можно выделить новым процессам без своппинга.",[38,1521,1522,1525],{},[75,1523,1524],{},"swap used"," — если больше 0 и растёт — проблема.",[21,1527,1528,1531,1532,1535],{},[41,1529,1530],{},"Симптом:"," приложение работает, но отклик «лагает». ",[41,1533,1534],{},"Причина:"," постоянный своппинг.",[16,1537,1539],{"id":1538},"шаг-4-проверьте-загрузку-дисковых-подсистем","Шаг 4: Проверьте загрузку дисковых подсистем",[21,1541,1542,1543,215],{},"Диски (особенно HDD или перегруженные SSD) — частый «бутылочное горлышко». Используем ",[75,1544,1182],{},[99,1546,1548],{"className":101,"code":1547,"language":103,"meta":104,"style":104},"iostat -x 1\n",[75,1549,1550],{"__ignoreMap":104},[108,1551,1552,1554,1557],{"class":110,"line":111},[108,1553,1182],{"class":114},[108,1555,1556],{"class":193}," -x",[108,1558,1559],{"class":193}," 1\n",[21,1561,1562,1563,1566],{},"Ключевые колонки в выводе (",[75,1564,1565],{},"-x"," — расширенный):",[35,1568,1569,1579,1588],{},[38,1570,1571,1574,1575,1578],{},[75,1572,1573],{},"%util"," — процент времени, когда устройство обрабатывало запросы. ",[41,1576,1577],{},"Цель:"," \u003C 70-80%. 100% — диск полностью загружен.",[38,1580,1581,1584,1585,1587],{},[75,1582,1583],{},"await"," — среднее время (в миллисекундах) ожидания завершения I/O-операции. ",[41,1586,1577],{}," для SSD \u003C 1-5 мс, для HDD \u003C 20-50 мс. Высокие значения (100+ мс) — признак проблемы.",[38,1589,1590,1593,1594,744],{},[75,1591,1592],{},"svctm"," — среднее время обслуживания (обычно не так полезно, как ",[75,1595,1583],{},[21,1597,1598],{},[41,1599,1600],{},"Пример вывода:",[99,1602,1605],{"className":1603,"code":1604,"language":128},[126],"Device        r/s     w/s     rkB/s     wkB/s   await   svctm  %util\nsda           0.00   150.00      0.00   6144.00    5.20    1.20   18.00\nnvme0n1       5.00   200.00   1024.00   40960.00   12.50    0.80   16.40\n",[75,1606,1604],{"__ignoreMap":104},[21,1608,1609,1610,1613,1614,1616,1617,1619,1620,1622],{},"Здесь ",[75,1611,1612],{},"sda"," (вероятно, HDD) имеет ",[75,1615,1583],{}," 5.2 мс — норма. Но если бы ",[75,1618,1583],{}," был 100 мс при ",[75,1621,1573],{}," 90% — диск не справляется.",[21,1624,1625,1628,1629,1631,1632,88],{},[41,1626,1627],{},"Совет:"," Если ",[75,1630,1182],{}," не показывает нужные устройства, укажите явно: ",[75,1633,1634],{},"iostat -x 1 /dev/sda /dev/nvme0n1",[16,1636,1638],{"id":1637},"шаг-5-изучите-сетевую-активность-и-ошибки","Шаг 5: Изучите сетевую активность и ошибки",[21,1640,1641],{},"Сеть может «подводить» из-за перегрузки канала, ошибок на интерфейсе или проблем с приложением.",[21,1643,1644],{},"Быстрый просмотр трафика в реальном времени:",[99,1646,1648],{"className":101,"code":1647,"language":103,"meta":104,"style":104},"sudo iftop -nP\n",[75,1649,1650],{"__ignoreMap":104},[108,1651,1652,1654,1656],{"class":110,"line":111},[108,1653,273],{"class":114},[108,1655,1245],{"class":118},[108,1657,1658],{"class":193}," -nP\n",[35,1660,1661,1667],{},[38,1662,1663,1666],{},[75,1664,1665],{},"-n"," — не преобразовывать IP в имена (быстрее).",[38,1668,1669,1672,1673,168,1676,1413,1679,168,1682,1685],{},[75,1670,1671],{},"-P"," — показывать порты.\nСортировка по ",[75,1674,1675],{},"SENT",[75,1677,1678],{},"RECV",[75,1680,1681],{},"s",[75,1683,1684],{},"r",") покажет, какие соединения грузят канал.",[21,1687,1688],{},"Более детальная статистика по интерфейсам:",[99,1690,1692],{"className":101,"code":1691,"language":103,"meta":104,"style":104},"ip -s link show eth0  # или ens3, enp0s3 и т.д.\n",[75,1693,1694],{"__ignoreMap":104},[108,1695,1696,1699,1702,1705,1708,1711],{"class":110,"line":111},[108,1697,1698],{"class":114},"ip",[108,1700,1701],{"class":193}," -s",[108,1703,1704],{"class":118}," link",[108,1706,1707],{"class":118}," show",[108,1709,1710],{"class":118}," eth0",[108,1712,1713],{"class":1215},"  # или ens3, enp0s3 и т.д.\n",[21,1715,1716],{},"Ищите в выводе:",[35,1718,1719,1729],{},[38,1720,1721,1724,1725,1728],{},[75,1722,1723],{},"rx errors"," / ",[75,1726,1727],{},"tx errors"," — количество ошибок приёма/передачи. Ненулевые значения требуют проверки кабеля, свитча, драйвера.",[38,1730,1731,1724,1734,1737],{},[75,1732,1733],{},"rx dropped",[75,1735,1736],{},"tx dropped"," — пакеты, отброшенные ядром из-за нехватки ресурсов (буферов). Рост этих значений при высокой нагрузке — признак перегрузки.",[16,1739,1741],{"id":1740},"шаг-6-соберите-исторические-данные-для-глубокого-анализа","Шаг 6: Соберите исторические данные для глубокого анализа",[21,1743,1744,1745,1748,1749,88],{},"Если проблема ",[41,1746,1747],{},"периодическая"," (например, «тормозит каждый день в 14:00»), нужно смотреть историю. Для этого служит демон ",[75,1750,1168],{},[351,1752,1753,1808],{},[38,1754,1755,1758,1776,1424,1778,1781,1782,168,1785,1788,1789],{},[41,1756,1757],{},"Проверьте, работает ли он:",[99,1759,1761],{"className":101,"code":1760,"language":103,"meta":104,"style":104},"sudo systemctl status sysstat\n",[75,1762,1763],{"__ignoreMap":104},[108,1764,1765,1767,1770,1773],{"class":110,"line":111},[108,1766,273],{"class":114},[108,1768,1769],{"class":118}," systemctl",[108,1771,1772],{"class":118}," status",[108,1774,1775],{"class":118}," sysstat\n",[480,1777],{},[75,1779,1780],{},"active (running)"," — данные уже собираются. Если ",[75,1783,1784],{},"inactive",[75,1786,1787],{},"failed"," — включите:",[99,1790,1792],{"className":101,"code":1791,"language":103,"meta":104,"style":104},"sudo systemctl enable --now sysstat\n",[75,1793,1794],{"__ignoreMap":104},[108,1795,1796,1798,1800,1803,1806],{"class":110,"line":111},[108,1797,273],{"class":114},[108,1799,1769],{"class":118},[108,1801,1802],{"class":118}," enable",[108,1804,1805],{"class":193}," --now",[108,1807,1775],{"class":118},[38,1809,1810,1813,1814,1817,1818,88,1820,1949,1951,1952,1955,1956,1959,1960,88],{},[41,1811,1812],{},"Просмотр архивов:","\nДанные хранятся в ",[75,1815,1816],{},"/var/log/sysstat/"," в бинарном формате. Читать их командой ",[75,1819,1093],{},[35,1821,1822,1867,1909],{},[38,1823,1824,1827],{},[41,1825,1826],{},"CPU за вчера:",[99,1828,1830],{"className":101,"code":1829,"language":103,"meta":104,"style":104},"sudo sar -u -f /var/log/sysstat/sa$(date -d yesterday +%d)\n",[75,1831,1832],{"__ignoreMap":104},[108,1833,1834,1836,1839,1842,1845,1848,1852,1855,1858,1861,1864],{"class":110,"line":111},[108,1835,273],{"class":114},[108,1837,1838],{"class":118}," sar",[108,1840,1841],{"class":193}," -u",[108,1843,1844],{"class":193}," -f",[108,1846,1847],{"class":118}," /var/log/sysstat/sa",[108,1849,1851],{"class":1850},"sVt8B","$(",[108,1853,1854],{"class":114},"date",[108,1856,1857],{"class":193}," -d",[108,1859,1860],{"class":118}," yesterday",[108,1862,1863],{"class":118}," +%d",[108,1865,1866],{"class":1850},")\n",[38,1868,1869,1872],{},[41,1870,1871],{},"Диски за последние 10 минут (интервал сбора по умолчанию 10 мин):",[99,1873,1875],{"className":101,"code":1874,"language":103,"meta":104,"style":104},"sudo sar -d -f /var/log/sysstat/sa$(date +%d) | grep -E \"Device|Average\"\n",[75,1876,1877],{"__ignoreMap":104},[108,1878,1879,1881,1883,1885,1887,1889,1891,1893,1895,1898,1901,1903,1906],{"class":110,"line":111},[108,1880,273],{"class":114},[108,1882,1838],{"class":118},[108,1884,1857],{"class":193},[108,1886,1844],{"class":193},[108,1888,1847],{"class":118},[108,1890,1851],{"class":1850},[108,1892,1854],{"class":114},[108,1894,1863],{"class":118},[108,1896,1897],{"class":1850},") ",[108,1899,1900],{"class":200},"|",[108,1902,516],{"class":114},[108,1904,1905],{"class":193}," -E",[108,1907,1908],{"class":118}," \"Device|Average\"\n",[38,1910,1911,1914],{},[41,1912,1913],{},"Память:",[99,1915,1917],{"className":101,"code":1916,"language":103,"meta":104,"style":104},"sudo sar -r -f /var/log/sysstat/sa$(date +%d) | grep -E \"kbmemfree|kbmemused|%memused\"\n",[75,1918,1919],{"__ignoreMap":104},[108,1920,1921,1923,1925,1928,1930,1932,1934,1936,1938,1940,1942,1944,1946],{"class":110,"line":111},[108,1922,273],{"class":114},[108,1924,1838],{"class":118},[108,1926,1927],{"class":193}," -r",[108,1929,1844],{"class":193},[108,1931,1847],{"class":118},[108,1933,1851],{"class":1850},[108,1935,1854],{"class":114},[108,1937,1863],{"class":118},[108,1939,1897],{"class":1850},[108,1941,1900],{"class":200},[108,1943,516],{"class":114},[108,1945,1905],{"class":193},[108,1947,1948],{"class":118}," \"kbmemfree|kbmemused|%memused\"\n",[480,1950],{},"Чтобы настроить интервал сбора (например, каждую минуту), отредактируйте ",[75,1953,1954],{},"/etc/default/sysstat"," (Debian/Ubuntu) или ",[75,1957,1958],{},"/etc/sysconfig/sysstat"," (RHEL) и измените параметр ",[75,1961,1962],{},"SA1_OPTIONS",[16,1964,670],{"id":669},[21,1966,1967],{},"После прохождения шагов вы должны:",[351,1969,1970,1987,2001],{},[38,1971,1972,1975,1976,1978,1979,1981,1982,1169,1984,1986],{},[41,1973,1974],{},"Определить ресурс-узкое место:"," CPU (",[75,1977,1573],{}," близки к 100%, высокий load average), Memory (",[75,1980,1514],{}," низкий, активен swap), Disk (",[75,1983,1583],{},[75,1985,1573],{}," высокие), Network (ошибки/dropped, 100% utilisation).",[38,1988,1989,1992,1993,1995,1996,1998,1999,744],{},[41,1990,1991],{},"Найти «виновника»:"," конкретный процесс (",[75,1994,1100],{},"), тип операций (",[75,1997,1352],{}," — много ли записей?), конкретное сетевое соединение (",[75,2000,1346],{},[38,2002,2003,2006,2007,2010,2011,2014,2015,2017,2018,2020],{},[41,2004,2005],{},"Получить данные для дальнейших действий:"," например, «Процесс ",[75,2008,2009],{},"java"," с PID 1234 потребляет 300% CPU» или «Диск ",[75,2012,2013],{},"/dev/nvme0n1"," имеет ",[75,2016,1583],{}," 150 мс при ",[75,2019,1573],{}," 95%».",[21,2022,2023],{},"Если проблема локализована на уровне приложения (например, конкретный Java-процесс), дальнейшая диагностика будет зависеть от него (анализ логов, профилирование).",[16,2025,698],{"id":697},[35,2027,2028,2039,2055,2069,2080,2092,2106],{},[38,2029,2030,2035,2036,2038],{},[41,2031,2032],{},[75,2033,2034],{},"iostat: command not found"," — не установлен пакет ",[75,2037,1168],{},". См. Шаг 1.",[38,2040,2041,2051,2052,2054],{},[41,2042,2043,2046,2047,168,2049],{},[75,2044,2045],{},"Permission denied"," при запуске ",[75,2048,1182],{},[75,2050,1093],{}," — некоторые команды требуют root. Используйте ",[75,2053,273],{}," или логируйтесь как root.",[38,2056,2057,2062,2063,1169,2066,88],{},[41,2058,2059,2060],{},"Нулевые значения в ",[75,2061,1182],{}," — возможно, диск не используется или система использует виртуальные блок-устройства (в контейнерах). Проверьте ",[75,2064,2065],{},"lsblk",[75,2067,2068],{},"df -h",[38,2070,2071,2076,2077,88],{},[41,2072,2073,2075],{},[75,2074,1346],{}," не показывает интерфейс"," — укажите явно: ",[75,2078,2079],{},"sudo iftop -i eth0",[38,2081,2082,2088,2089,2091],{},[41,2083,2084,2085,2087],{},"Нет данных ",[75,2086,1093],{}," за прошлые дни"," — демон ",[75,2090,1168],{}," не был запущен ранее. Данные собираются только с момента запуска службы.",[38,2093,2094,2102,2103,88],{},[41,2095,2096,2097,2099,2100],{},"Высокий ",[75,2098,1583],{}," при низком ",[75,2101,1573],{}," — может указывать на проблемы с контроллером диска, драйвером или аппаратные сбои. Проверьте ",[75,2104,2105],{},"dmesg | grep -i error",[38,2107,2108,2118,2119,168,2122,2129,2130,2132,2133,1417,2136,2139,2140,1169,2143,2146,2147,88],{},[41,2109,2110,2112,2113,2115,2116],{},[75,2111,1198],{},"/",[75,2114,1100],{}," показывает 100% CPU, но нет процесса с высоким ",[75,2117,1412],{}," — это может быть ",[41,2120,2121],{},"системные прерывания (si)",[41,2123,2124,2125,2128],{},"процессы в состоянии ",[75,2126,2127],{},"D"," (uninterruptible sleep, обычно ожидание I/O)",". В ",[75,2131,1100],{}," нажмите ",[75,2134,2135],{},"F2",[75,2137,2138],{},"Display options"," -> включите ",[75,2141,2142],{},"Show custom thread names",[75,2144,2145],{},"Detailed"," для просмотра. Для I/O-зависших процессов используйте ",[75,2148,1352],{},[802,2150,2151],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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 pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":104,"searchDepth":806,"depth":806,"links":2153},[2154,2155,2156,2157,2158,2159,2160,2161,2162,2163],{"id":1139,"depth":806,"text":1140},{"id":1150,"depth":806,"text":1151},{"id":1188,"depth":806,"text":1189},{"id":1358,"depth":806,"text":1359},{"id":1451,"depth":806,"text":1452},{"id":1538,"depth":806,"text":1539},{"id":1637,"depth":806,"text":1638},{"id":1740,"depth":806,"text":1741},{"id":669,"depth":806,"text":670},{"id":697,"depth":806,"text":698},"2026-02-16 19:31:39","Узнайте, как отслеживать нагрузку на сервер Linux с помощью top, htop, vmstat, iostat. Пошаговая инструкция по анализу CPU, памяти, дисков и сети за 15 минут.",[2167,2170,2173,2176],{"question":2168,"answer":2169},"Какую утилиту выбрать для мониторинга: top или htop?","htop — это улучшенный top с цветовым выводом, удобной навигацией и графиками. Для быстрого glance используйте top (есть везде), для детального анализа — htop (нужно установить).",{"question":2171,"answer":2172},"Как мониторить производительность диска в реальном времени?","Используйте `iostat -x 1`. Ключевые метрики: `%util` (загруженность) и `await` (время ожидания). Значения `%util` близкие к 100% указывают на узкое место.",{"question":2174,"answer":2175},"Что делать, если нет команды iostat или sar?","Установите пакет `sysstat`: `sudo apt install sysstat` (Ubuntu/Debian) или `sudo yum install sysstat` (RHEL/CentOS). После установки запустите `sudo sar -u 1`.",{"question":2177,"answer":2178},"Как сохранить историю нагрузки для анализа позже?","Включите сбор данных sysstat: `sudo systemctl enable --now sysstat`. Данные будут сохраняться в `/var/log/sysstat/` и их можно просмотреть командой `sar -f /var/log/sysstat/sa$(date +%d)`.",[2180,2183,2186,2189,2192,2195],{"name":2181,"text":2182},"Установите базовые утилиты мониторинга","Убедитесь, что установлены утилиты `sysstat` (iostat, sar, mpstat) и `htop`. Для Debian/Ubuntu: `sudo apt update && sudo apt install sysstat htop`. Для RHEL/CentOS: `sudo yum install sysstat htop`.",{"name":2184,"text":2185},"Оцените общую загрузку процессора и процессов","Запустите `htop` или `top`. Нажмите `F6` в htop для сортировки по CPU. Обращайте внимание на `%CPU` и `%MEM` для процессов. Высокий `%CPU` у одного процесса — возможна проблема с приложением.",{"name":2187,"text":2188},"Проанализируйте использование памяти и подкачки","В htop посмотрите строку `Mem` и `Swp`. Критично, если `Swap` активно используется (`si`/`so` в `vmstat` не нулевые). Для детального просмотра: `free -h`.",{"name":2190,"text":2191},"Проверьте загрузку дисковых подсистем","Выполните `iostat -x 1`. Ключевые показатели: `%util` (целевая загруженность) и `await` (среднее время ожидания). Если `await` высокий (десятки мс для SSD, сотни для HDD) при `%util` > 80% — диск является узким местом.",{"name":2193,"text":2194},"Изучите сетевую активность и ошибки","Используйте `iftop -nP` (установите пакет `iftop`) для просмотра трафика в реальном времени. Для статистики по интерфейсам: `ip -s link show`. Обращайте внимание на `rxerrors`/`txerrors`.",{"name":2196,"text":2197},"Соберите исторические данные для глубокого анализа","Проверьте, активен ли демон sysstat: `sudo systemctl status sysstat`. Если нет — включите. Просмотрите вчерашние данные: `sudo sar -u -f /var/log/sysstat/sa$(date -d yesterday +%d)`.",[2199,2200,2201,2202,2203,2204,2205,2206,2207],"мониторинг производительности linux","узнать нагрузку на сервер linux","top htop команды linux","анализ использования памяти linux","iostat что показывает","vmstat примеры использования","perf linux профилирование","sar sysstat установка","диагностика тормозов linux",{},[2210,2211,2212],"/guides/linux/systemd-errors","/guides/linux/nginx-502-error","/guides/linux/ssh-connection-refused",{"title":1129,"description":2165},"guides/linux/performance-monitoring","Это руководство поможет вам освоить основные инструменты мониторинга производительности Linux. Вы научитесь быстро находить узкие места в системе: процессор, память, диск и сеть.",[2217,2218,873,2219,103,2220],"мониторинг","производительность","sysadmin","troubleshooting","2-IU0Dg-b4CVYfTPpl90MmGFsTUtIIjY79K5M8pnkJE"]