[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/monitoring-tools":3,"mdc-83rku8-key":1505,"mdc-s9yzsp-key":1529,"mdc--a1imli-key":1578,"mdc-oquvg2-key":1627,"mdc-g09gup-key":1648,"mdc--2xxje1-key":1656,"mdc-4ffvdm-key":1684,"mdc--g3mkco-key":1700,"mdc--mzuwfk-key":1723,"related-/guides/linux/disk-usage-commands,/guides/linux/network-troubleshooting,/errors/linux/oom-killer":1738},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":1438,"code":1438,"createdAt":1439,"description":1440,"difficulty":1441,"draft":1442,"estimatedTime":1443,"extension":1444,"faq":1445,"howToSteps":1458,"howToTotalTime":1474,"image":1438,"keywords":1475,"locale":1484,"meta":1485,"navigation":390,"path":1486,"platform":1487,"related":1488,"section":1492,"seo":1493,"severity":1438,"stem":1494,"summary":1495,"tags":1496,"twitterCreator":1438,"twitterSite":1438,"type":1503,"updatedAt":1439,"__hash__":1504},"content_ru/guides/linux/monitoring-tools.md","Мониторинг Linux: лучшие инструменты для отслеживания системы",[7,8,9,10],"Ubuntu 22.04+","CentOS 8+","Debian 11+","Any modern Linux distribution","FixPedia Team",{"type":13,"value":14,"toc":1409},"minimark",[15,20,24,27,30,52,56,59,87,94,98,101,182,188,192,197,205,210,246,251,267,272,281,323,348,352,357,362,427,432,445,452,456,460,465,469,510,515,524,527,564,569,593,596,619,625,629,638,643,673,678,695,698,712,716,720,725,729,759,763,780,791,814,826,830,836,840,870,874,886,888,896,899,902,906,912,917,938,941,951,962,968,1004,1010,1014,1017,1021,1078,1082,1087,1091,1121,1126,1140,1143,1163,1167,1170,1205,1211,1233,1237,1241,1247,1263,1269,1273,1358,1362,1372,1386,1390,1405],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Мониторинг Linux — это基евая практика для любого системного администратора или разработчика, работающего с серверами. Он позволяет вовремя заметить рост нагрузки, исчерпание дискового пространства или утечки памяти до того, как это приведёт к простою сервиса.",[21,25,26],{},"В этом гайде вы познакомитесь с основными категориями инструментов мониторинга, узнаете, как их установить и начать использовать для диагностики производительности системы. Мы рассмотрим как консольные утилиты, так и веб-интерфейсы, которые работают на большинстве дистрибутивов.",[21,28,29],{},"После выполнения этого руководства вы сможете:",[31,32,33,46,49],"ul",{},[34,35,36,37,41,42,45],"li",{},"Быстро оценить состояние системы с помощью ",[38,39,40],"code",{},"top","/",[38,43,44],{},"htop",".",[34,47,48],{},"Анализировать детальную статистику по CPU, памяти, дискам и сети.",[34,50,51],{},"Собирать исторические данные для пост-мортем анализа.",[16,53,55],{"id":54},"требования-подготовка","Требования / Подготовка",[21,57,58],{},"Перед началом убедитесь, что:",[60,61,62,70,84],"ol",{},[34,63,64,65,69],{},"У вас есть доступ к Linux-серверу или виртуальной машине с правами ",[66,67,68],"strong",{},"sudo"," (некоторые команды требуют root).",[34,71,72,73,76,77,41,80,83],{},"Установлен пакетный менеджер (",[38,74,75],{},"apt"," для Debian/Ubuntu, ",[38,78,79],{},"yum",[38,81,82],{},"dnf"," для RHEL/CentOS).",[34,85,86],{},"Для веб-интерфейсов (например, netdata) должен быть открыт соответствующий порт (по умолчанию 19999) в фаерволе.",[21,88,89,90,93],{},"Все команды в этом гайде предполагают использование ",[66,91,92],{},"bash"," или совместимого shell.",[16,95,97],{"id":96},"категории-инструментов-мониторинга","Категории инструментов мониторинга",[21,99,100],{},"Инструменты делятся на несколько логических групп:",[60,102,103,118,133,151,166],{},[34,104,105,108,109,111,112,111,114,117],{},[66,106,107],{},"Системные"," — показывают загрузку CPU, использование памяти, процессы (",[38,110,40],{},", ",[38,113,44],{},[38,115,116],{},"glances",").",[34,119,120,123,124,111,127,111,130,117],{},[66,121,122],{},"Дисковые"," — отслеживают использование места, I/O (",[38,125,126],{},"df",[38,128,129],{},"iostat",[38,131,132],{},"nmon",[34,134,135,138,139,111,142,111,145,111,148,117],{},[66,136,137],{},"Сетевые"," — анализируют трафик, соединения (",[38,140,141],{},"netstat",[38,143,144],{},"ss",[38,146,147],{},"iftop",[38,149,150],{},"nethogs",[34,152,153,156,157,111,160,111,163,117],{},[66,154,155],{},"Логи"," — мониторят системные и прикладные логи (",[38,158,159],{},"journalctl",[38,161,162],{},"tail",[38,164,165],{},"lnav",[34,167,168,171,172,111,175,178,179,117],{},[66,169,170],{},"Комплексные (веб-интерфейс)"," — агрегируют все метрики в одном месте с графиками (",[38,173,174],{},"netdata",[38,176,177],{},"Prometheus"," + ",[38,180,181],{},"Grafana",[21,183,184,185,187],{},"Мы сосредоточимся на самых популярных и универсальных утилитах из первых четырёх категорий, а также на ",[66,186,174],{}," как примере готового решения.",[16,189,191],{"id":190},"шаг-1-установка-и-использование-системных-мониторов","Шаг 1: Установка и использование системных мониторов",[193,194,196],"h3",{"id":195},"установка-htop-рекомендуется","Установка htop (рекомендуется)",[21,198,199,201,202,204],{},[38,200,44],{}," — улучшенная версия ",[38,203,40],{}," с цветным интерфейсом, поддержкой мыши и более удобной навигацией.",[21,206,207],{},[66,208,209],{},"Для Ubuntu/Debian:",[211,212,216],"pre",{"className":213,"code":214,"language":92,"meta":215,"style":215},"language-bash shiki shiki-themes github-light github-dark","sudo apt update\nsudo apt install htop\n","",[38,217,218,233],{"__ignoreMap":215},[219,220,223,226,230],"span",{"class":221,"line":222},"line",1,[219,224,68],{"class":225},"sScJk",[219,227,229],{"class":228},"sZZnC"," apt",[219,231,232],{"class":228}," update\n",[219,234,236,238,240,243],{"class":221,"line":235},2,[219,237,68],{"class":225},[219,239,229],{"class":228},[219,241,242],{"class":228}," install",[219,244,245],{"class":228}," htop\n",[21,247,248],{},[66,249,250],{},"Для CentOS/RHEL 8+:",[211,252,254],{"className":213,"code":253,"language":92,"meta":215,"style":215},"sudo dnf install htop\n",[38,255,256],{"__ignoreMap":215},[219,257,258,260,263,265],{"class":221,"line":222},[219,259,68],{"class":225},[219,261,262],{"class":228}," dnf",[219,264,242],{"class":228},[219,266,245],{"class":228},[21,268,269],{},[66,270,271],{},"Запуск и управление:",[211,273,275],{"className":213,"code":274,"language":92,"meta":215,"style":215},"htop\n",[38,276,277],{"__ignoreMap":215},[219,278,279],{"class":221,"line":222},[219,280,274],{"class":225},[31,282,283,289,298,311],{},[34,284,285,288],{},[38,286,287],{},"F10"," — выход.",[34,290,291,294,295,117],{},[38,292,293],{},"F6"," — сортировка по выбранному столбцу (например, ",[38,296,297],{},"%CPU",[34,299,300,303,304,306,307,310],{},[38,301,302],{},"F9"," — убить процесс (выберите процесс, нажмите ",[38,305,302],{},", затем ",[38,308,309],{},"9"," для SIGKILL).",[34,312,313,111,316,111,319,322],{},[38,314,315],{},"P",[38,317,318],{},"M",[38,320,321],{},"T"," — сортировка по CPU, памяти, времени соответственно.",[324,325,326],"blockquote",{},[21,327,328,329,332,333,335,336,339,340,343,344,347],{},"💡 ",[66,330,331],{},"Совет:"," В ",[38,334,44],{}," можно добавить дополнительные столбцы (нажмите ",[38,337,338],{},"F2"," → ",[38,341,342],{},"Columns","). Например, ",[38,345,346],{},"IO_RATE"," для ввода-вывода.",[193,349,351],{"id":350},"использование-glances-альтернатива","Использование glances (альтернатива)",[21,353,354,356],{},[38,355,116],{}," — кроссплатформенный монитор, который показывает не только локальные, но и удалённые метрики (по SSH или веб-интерфейсу).",[21,358,359],{},[66,360,361],{},"Установка:",[211,363,365],{"className":213,"code":364,"language":92,"meta":215,"style":215},"# Через pip (предпочтительно для последней версии)\nsudo pip3 install glances\n\n# Или из репозитория\nsudo apt install glances  # Ubuntu\nsudo dnf install glances  # CentOS\n",[38,366,367,373,385,392,398,413],{"__ignoreMap":215},[219,368,369],{"class":221,"line":222},[219,370,372],{"class":371},"sJ8bj","# Через pip (предпочтительно для последней версии)\n",[219,374,375,377,380,382],{"class":221,"line":235},[219,376,68],{"class":225},[219,378,379],{"class":228}," pip3",[219,381,242],{"class":228},[219,383,384],{"class":228}," glances\n",[219,386,388],{"class":221,"line":387},3,[219,389,391],{"emptyLinePlaceholder":390},true,"\n",[219,393,395],{"class":221,"line":394},4,[219,396,397],{"class":371},"# Или из репозитория\n",[219,399,401,403,405,407,410],{"class":221,"line":400},5,[219,402,68],{"class":225},[219,404,229],{"class":228},[219,406,242],{"class":228},[219,408,409],{"class":228}," glances",[219,411,412],{"class":371},"  # Ubuntu\n",[219,414,416,418,420,422,424],{"class":221,"line":415},6,[219,417,68],{"class":225},[219,419,262],{"class":228},[219,421,242],{"class":228},[219,423,409],{"class":228},[219,425,426],{"class":371},"  # CentOS\n",[21,428,429],{},[66,430,431],{},"Запуск в веб-режиме:",[211,433,435],{"className":213,"code":434,"language":92,"meta":215,"style":215},"glances --web\n",[38,436,437],{"__ignoreMap":215},[219,438,439,441],{"class":221,"line":222},[219,440,116],{"class":225},[219,442,444],{"class":443},"sj4cs"," --web\n",[21,446,447,448,451],{},"После этого откройте в браузере ",[38,449,450],{},"http://ваш_сервер:61208",". Интерфейс обновляется в реальном времени.",[16,453,455],{"id":454},"шаг-2-мониторинг-дисков-и-ввода-вывода","Шаг 2: Мониторинг дисков и ввода-вывода",[193,457,459],{"id":458},"nmon-универсальный-инструмент-для-сбора-данных","nmon — универсальный инструмент для сбора данных",[21,461,462,464],{},[38,463,132],{}," (Nigel's Monitor) — утилита, которая одновременно отображает информацию по CPU, памяти, дискам, сети и даже топ-процессам. Её ключевая особенность — возможность записи данных в файл для последующего анализа.",[21,466,467],{},[66,468,361],{},[211,470,472],{"className":213,"code":471,"language":92,"meta":215,"style":215},"# Ubuntu/Debian\nsudo apt install nmon\n\n# CentOS/RHEL\nsudo yum install nmon\n",[38,473,474,479,490,494,499],{"__ignoreMap":215},[219,475,476],{"class":221,"line":222},[219,477,478],{"class":371},"# Ubuntu/Debian\n",[219,480,481,483,485,487],{"class":221,"line":235},[219,482,68],{"class":225},[219,484,229],{"class":228},[219,486,242],{"class":228},[219,488,489],{"class":228}," nmon\n",[219,491,492],{"class":221,"line":387},[219,493,391],{"emptyLinePlaceholder":390},[219,495,496],{"class":221,"line":394},[219,497,498],{"class":371},"# CentOS/RHEL\n",[219,500,501,503,506,508],{"class":221,"line":400},[219,502,68],{"class":225},[219,504,505],{"class":228}," yum",[219,507,242],{"class":228},[219,509,489],{"class":228},[21,511,512],{},[66,513,514],{},"Запуск:",[211,516,518],{"className":213,"code":517,"language":92,"meta":215,"style":215},"nmon\n",[38,519,520],{"__ignoreMap":215},[219,521,522],{"class":221,"line":222},[219,523,517],{"class":225},[21,525,526],{},"После запуска нажмите:",[31,528,529,535,541,547,553,559],{},[34,530,531,534],{},[38,532,533],{},"c"," — CPU.",[34,536,537,540],{},[38,538,539],{},"m"," — память.",[34,542,543,546],{},[38,544,545],{},"d"," — диски.",[34,548,549,552],{},[38,550,551],{},"n"," — сеть.",[34,554,555,558],{},[38,556,557],{},"t"," — топ-процессы.",[34,560,561,288],{},[38,562,563],{},"q",[21,565,566],{},[66,567,568],{},"Запись сессии в файл:",[211,570,572],{"className":213,"code":571,"language":92,"meta":215,"style":215},"nmon -f -s 2 -c 30\n",[38,573,574],{"__ignoreMap":215},[219,575,576,578,581,584,587,590],{"class":221,"line":222},[219,577,132],{"class":225},[219,579,580],{"class":443}," -f",[219,582,583],{"class":443}," -s",[219,585,586],{"class":443}," 2",[219,588,589],{"class":443}," -c",[219,591,592],{"class":443}," 30\n",[21,594,595],{},"Флаги:",[31,597,598,607,613],{},[34,599,600,603,604,117],{},[38,601,602],{},"-f"," — запись в файл (по умолчанию ",[38,605,606],{},"nmon_дата_время",[34,608,609,612],{},[38,610,611],{},"-s 2"," — интервал сбора данных 2 секунды.",[34,614,615,618],{},[38,616,617],{},"-c 30"," — количество записей (30), после чего программа завершится.",[21,620,621,622,624],{},"Файл можно просмотреть позже с помощью ",[38,623,132],{}," (просто укажите путь) или преобразовать в CSV для Excel.",[193,626,628],{"id":627},"iostat-для-детальной-статистики-дисков","iostat для детальной статистики дисков",[21,630,631,633,634,637],{},[38,632,129],{}," входит в пакет ",[38,635,636],{},"sysstat",". Показывает загрузку дисков (await, util%) и детали по устройствам.",[21,639,640],{},[66,641,642],{},"Установка sysstat:",[211,644,646],{"className":213,"code":645,"language":92,"meta":215,"style":215},"sudo apt install sysstat  # Ubuntu\nsudo dnf install sysstat  # CentOS\n",[38,647,648,661],{"__ignoreMap":215},[219,649,650,652,654,656,659],{"class":221,"line":222},[219,651,68],{"class":225},[219,653,229],{"class":228},[219,655,242],{"class":228},[219,657,658],{"class":228}," sysstat",[219,660,412],{"class":371},[219,662,663,665,667,669,671],{"class":221,"line":235},[219,664,68],{"class":225},[219,666,262],{"class":228},[219,668,242],{"class":228},[219,670,658],{"class":228},[219,672,426],{"class":371},[21,674,675],{},[66,676,677],{},"Команда:",[211,679,681],{"className":213,"code":680,"language":92,"meta":215,"style":215},"iostat -dx 2 5\n",[38,682,683],{"__ignoreMap":215},[219,684,685,687,690,692],{"class":221,"line":222},[219,686,129],{"class":225},[219,688,689],{"class":443}," -dx",[219,691,586],{"class":443},[219,693,694],{"class":443}," 5\n",[21,696,697],{},"Вывод:",[31,699,700,706],{},[34,701,702,705],{},[38,703,704],{},"%util"," — процент времени, когда диск занят операциями. Значение >80% указывает на узкое место.",[34,707,708,711],{},[38,709,710],{},"await"," — среднее время ожидания операции (мс). Высокие значения — проблема.",[16,713,715],{"id":714},"шаг-3-сетевой-мониторинг","Шаг 3: Сетевой мониторинг",[193,717,719],{"id":718},"iftop-实时-трафик-по-интерфейсам","iftop —实时 трафик по интерфейсам",[21,721,722,724],{},[38,723,147],{}," показывает, какие соединения consume bandwidth в реальном времени.",[21,726,727],{},[66,728,361],{},[211,730,732],{"className":213,"code":731,"language":92,"meta":215,"style":215},"sudo apt install iftop  # Ubuntu\nsudo dnf install iftop  # CentOS\n",[38,733,734,747],{"__ignoreMap":215},[219,735,736,738,740,742,745],{"class":221,"line":222},[219,737,68],{"class":225},[219,739,229],{"class":228},[219,741,242],{"class":228},[219,743,744],{"class":228}," iftop",[219,746,412],{"class":371},[219,748,749,751,753,755,757],{"class":221,"line":235},[219,750,68],{"class":225},[219,752,262],{"class":228},[219,754,242],{"class":228},[219,756,744],{"class":228},[219,758,426],{"class":371},[21,760,761],{},[66,762,514],{},[211,764,766],{"className":213,"code":765,"language":92,"meta":215,"style":215},"sudo iftop -i eth0\n",[38,767,768],{"__ignoreMap":215},[219,769,770,772,774,777],{"class":221,"line":222},[219,771,68],{"class":225},[219,773,744],{"class":228},[219,775,776],{"class":443}," -i",[219,778,779],{"class":228}," eth0\n",[21,781,782,783,786,787,790],{},"Замените ",[38,784,785],{},"eth0"," на ваш интерфейс (",[38,788,789],{},"ip a"," для просмотра). Клавиши:",[31,792,793,798,803,809],{},[34,794,795,797],{},[38,796,21],{}," — пауза.",[34,799,800,802],{},[38,801,551],{}," — разрешить/запретить преобразование имён (ускоряет вывод).",[34,804,805,808],{},[38,806,807],{},"s"," — сортировка по источнику.",[34,810,811,813],{},[38,812,545],{}," — сортировка по назначению.",[324,815,816],{},[21,817,818,819,822,823,825],{},"⚠️ ",[66,820,821],{},"Важно:"," ",[38,824,147],{}," требует прав root для захвата пакетов.",[193,827,829],{"id":828},"nethogs-трафик-по-процессам","nethogs — трафик по процессам",[21,831,832,833,835],{},"Уникальность ",[38,834,150],{}," в том, что он показывает, какой процесс генерирует сетевой трафик.",[21,837,838],{},[66,839,361],{},[211,841,843],{"className":213,"code":842,"language":92,"meta":215,"style":215},"sudo apt install nethogs  # Ubuntu\nsudo dnf install nethogs  # CentOS\n",[38,844,845,858],{"__ignoreMap":215},[219,846,847,849,851,853,856],{"class":221,"line":222},[219,848,68],{"class":225},[219,850,229],{"class":228},[219,852,242],{"class":228},[219,854,855],{"class":228}," nethogs",[219,857,412],{"class":371},[219,859,860,862,864,866,868],{"class":221,"line":235},[219,861,68],{"class":225},[219,863,262],{"class":228},[219,865,242],{"class":228},[219,867,855],{"class":228},[219,869,426],{"class":371},[21,871,872],{},[66,873,514],{},[211,875,877],{"className":213,"code":876,"language":92,"meta":215,"style":215},"sudo nethogs\n",[38,878,879],{"__ignoreMap":215},[219,880,881,883],{"class":221,"line":222},[219,882,68],{"class":225},[219,884,885],{"class":228}," nethogs\n",[21,887,697],{},[211,889,894],{"className":890,"code":892,"language":893},[891],"language-text","PID   USER      PROGRAM                     DEV        SENT      RECEIVED\n1234  root      /usr/lib/firefox/firefox    eth0       1.23 KB   4.56 KB\n","text",[38,895,892],{"__ignoreMap":215},[21,897,898],{},"Идеально для поиска \"прожорливых\" процессов.",[900,901],"in-article-ad",{},[16,903,905],{"id":904},"шаг-4-комплексный-мониторинг-с-netdata","Шаг 4: Комплексный мониторинг с netdata",[21,907,908,911],{},[66,909,910],{},"Netdata"," — это готовое решение с веб-интерфейсом, которое собирает тысячи метрик и строит красивые графики. Установка за минуту.",[21,913,914],{},[66,915,916],{},"Установка (автоматический скрипт):",[211,918,920],{"className":213,"code":919,"language":92,"meta":215,"style":215},"bash \u003C(curl -Ss https://my-netdata.io/kickstart.sh)\n",[38,921,922],{"__ignoreMap":215},[219,923,924,926,929,932,935],{"class":221,"line":222},[219,925,92],{"class":225},[219,927,928],{"class":228}," \u003C(",[219,930,931],{"class":225},"curl",[219,933,934],{"class":443}," -Ss",[219,936,937],{"class":228}," https://my-netdata.io/kickstart.sh)\n",[21,939,940],{},"Скрипт определит дистрибутив и установит все зависимости.",[21,942,943,946,947,950],{},[66,944,945],{},"Доступ:","\nПосле установки откройте в браузере ",[38,948,949],{},"http://ваш_сервер:19999",". Вы увидите дашборд с:",[31,952,953,956,959],{},[34,954,955],{},"Загрузкой CPU, памяти, дисков, сети.",[34,957,958],{},"Топ-процессами по CPU/RAM.",[34,960,961],{},"Метриками Docker, MySQL, Nginx (если они установлены).",[21,963,964,967],{},[66,965,966],{},"Безопасность:","\nПо умолчанию netdata слушает все интерфейсы. Ограничьте доступ через фаервол:",[211,969,971],{"className":213,"code":970,"language":92,"meta":215,"style":215},"sudo ufw allow from 192.168.1.0/24 to any port 19999  # только локальная сеть\n",[38,972,973],{"__ignoreMap":215},[219,974,975,977,980,983,986,989,992,995,998,1001],{"class":221,"line":222},[219,976,68],{"class":225},[219,978,979],{"class":228}," ufw",[219,981,982],{"class":228}," allow",[219,984,985],{"class":228}," from",[219,987,988],{"class":228}," 192.168.1.0/24",[219,990,991],{"class":228}," to",[219,993,994],{"class":228}," any",[219,996,997],{"class":228}," port",[219,999,1000],{"class":443}," 19999",[219,1002,1003],{"class":371},"  # только локальная сеть\n",[21,1005,1006,1007,45],{},"Или настройте аутентификацию в ",[38,1008,1009],{},"/etc/netdata/netdata.conf",[16,1011,1013],{"id":1012},"шаг-5-просмотр-логов-в-реальном-времени","Шаг 5: Просмотр логов в реальном времени",[21,1015,1016],{},"Хотя это не классический \"мониторинг\", отслеживание логов критически важно.",[193,1018,1020],{"id":1019},"journalctl-systemd-системы","journalctl (systemd-системы)",[211,1022,1024],{"className":213,"code":1023,"language":92,"meta":215,"style":215},"# Показать логи за последние 10 минут\njournalctl --since \"10 minutes ago\"\n\n# Следить за новыми записями (аналог tail -f)\njournalctl -f\n\n# Логи конкретного юнита (сервиса)\njournalctl -u nginx.service\n",[38,1025,1026,1031,1041,1045,1050,1057,1061,1067],{"__ignoreMap":215},[219,1027,1028],{"class":221,"line":222},[219,1029,1030],{"class":371},"# Показать логи за последние 10 минут\n",[219,1032,1033,1035,1038],{"class":221,"line":235},[219,1034,159],{"class":225},[219,1036,1037],{"class":443}," --since",[219,1039,1040],{"class":228}," \"10 minutes ago\"\n",[219,1042,1043],{"class":221,"line":387},[219,1044,391],{"emptyLinePlaceholder":390},[219,1046,1047],{"class":221,"line":394},[219,1048,1049],{"class":371},"# Следить за новыми записями (аналог tail -f)\n",[219,1051,1052,1054],{"class":221,"line":400},[219,1053,159],{"class":225},[219,1055,1056],{"class":443}," -f\n",[219,1058,1059],{"class":221,"line":415},[219,1060,391],{"emptyLinePlaceholder":390},[219,1062,1064],{"class":221,"line":1063},7,[219,1065,1066],{"class":371},"# Логи конкретного юнита (сервиса)\n",[219,1068,1070,1072,1075],{"class":221,"line":1069},8,[219,1071,159],{"class":225},[219,1073,1074],{"class":443}," -u",[219,1076,1077],{"class":228}," nginx.service\n",[193,1079,1081],{"id":1080},"lnav-умный-просмотрщик-логов","lnav — умный просмотрщик логов",[21,1083,1084,1086],{},[38,1085,165],{}," подсвечивает ошибки, позволяет фильтровать и выполнять поиск по форматам.",[21,1088,1089],{},[66,1090,361],{},[211,1092,1094],{"className":213,"code":1093,"language":92,"meta":215,"style":215},"sudo apt install lnav  # Ubuntu\nsudo dnf install lnav  # CentOS\n",[38,1095,1096,1109],{"__ignoreMap":215},[219,1097,1098,1100,1102,1104,1107],{"class":221,"line":222},[219,1099,68],{"class":225},[219,1101,229],{"class":228},[219,1103,242],{"class":228},[219,1105,1106],{"class":228}," lnav",[219,1108,412],{"class":371},[219,1110,1111,1113,1115,1117,1119],{"class":221,"line":235},[219,1112,68],{"class":225},[219,1114,262],{"class":228},[219,1116,242],{"class":228},[219,1118,1106],{"class":228},[219,1120,426],{"class":371},[21,1122,1123],{},[66,1124,1125],{},"Использование:",[211,1127,1129],{"className":213,"code":1128,"language":92,"meta":215,"style":215},"sudo lnav /var/log/syslog\n",[38,1130,1131],{"__ignoreMap":215},[219,1132,1133,1135,1137],{"class":221,"line":222},[219,1134,68],{"class":225},[219,1136,1106],{"class":228},[219,1138,1139],{"class":228}," /var/log/syslog\n",[21,1141,1142],{},"Клавиши:",[31,1144,1145,1151,1157],{},[34,1146,1147,1150],{},[38,1148,1149],{},":filter-in \u003Cтекст>"," — показать только строки с текстом.",[34,1152,1153,1156],{},[38,1154,1155],{},":filter-out \u003Cтекст>"," — скрыть строки.",[34,1158,1159,1162],{},[38,1160,1161],{},"F7"," — предыдущий файл в каталоге (удобно при ротации логов).",[16,1164,1166],{"id":1165},"проверка-результата","Проверка результата",[21,1168,1169],{},"После выполнения шагов вы должны уметь:",[60,1171,1172,1178,1187,1193,1196],{},[34,1173,1174,1175,1177],{},"Запустить ",[38,1176,44],{}," и определить процессы, consume больше всего CPU/RAM.",[34,1179,1180,1181,1183,1184,1186],{},"С помощью ",[38,1182,129],{}," проверить, не перегружены ли диски (",[38,1185,704],{}," > 80%).",[34,1188,1189,1190,1192],{},"С ",[38,1191,150],{}," найти процесс, генерирующий неожиданный сетевой трафик.",[34,1194,1195],{},"Открыть веб-интерфейс netdata и прочитать графики за последний час.",[34,1197,1198,1199,1202,1203,45],{},"Следить за логами через ",[38,1200,1201],{},"journalctl -f"," и фильтровать их через ",[38,1204,165],{},[21,1206,1207,1210],{},[66,1208,1209],{},"Критерии успеха:"," Вы можете оперативно ответить на вопросы:",[31,1212,1213,1220,1225],{},[34,1214,1215,1216,178,1218,45],{},"\"Почему сервер тормозит?\" → ",[38,1217,44],{},[38,1219,129],{},[34,1221,1222,1223,45],{},"\"Кто ест сеть?\" → ",[38,1224,150],{},[34,1226,1227,1228,1230,1231,45],{},"\"Что произошло в момент сбоя?\" → ",[38,1229,132],{}," (если запись была) или ",[38,1232,159],{},[16,1234,1236],{"id":1235},"возможные-проблемы","Возможные проблемы",[193,1238,1240],{"id":1239},"command-not-found-после-установки","\"Command not found\" после установки",[21,1242,1243,1244,1246],{},"Иногда после установки через ",[38,1245,75],{}," команда доступна только после перелогина или sourcing оболочки. Попробуйте:",[211,1248,1250],{"className":213,"code":1249,"language":92,"meta":215,"style":215},"hash -r  # очистка кэша команд\n",[38,1251,1252],{"__ignoreMap":215},[219,1253,1254,1257,1260],{"class":221,"line":222},[219,1255,1256],{"class":443},"hash",[219,1258,1259],{"class":443}," -r",[219,1261,1262],{"class":371},"  # очистка кэша команд\n",[21,1264,1265,1266,117],{},"Или используйте полный путь (",[38,1267,1268],{},"/usr/bin/htop",[193,1270,1272],{"id":1271},"netdata-не-запускается-или-веб-интерфейс-не-отвечает","netdata не запускается или веб-интерфейс не отвечает",[60,1274,1275,1296,1330],{},[34,1276,1277,1278],{},"Проверьте статус службы:\n",[211,1279,1281],{"className":213,"code":1280,"language":92,"meta":215,"style":215},"sudo systemctl status netdata\n",[38,1282,1283],{"__ignoreMap":215},[219,1284,1285,1287,1290,1293],{"class":221,"line":222},[219,1286,68],{"class":225},[219,1288,1289],{"class":228}," systemctl",[219,1291,1292],{"class":228}," status",[219,1294,1295],{"class":228}," netdata\n",[34,1297,1298,1299],{},"Если служба неактивна, запустите:\n",[211,1300,1302],{"className":213,"code":1301,"language":92,"meta":215,"style":215},"sudo systemctl start netdata\nsudo systemctl enable netdata  # автозапуск\n",[38,1303,1304,1315],{"__ignoreMap":215},[219,1305,1306,1308,1310,1313],{"class":221,"line":222},[219,1307,68],{"class":225},[219,1309,1289],{"class":228},[219,1311,1312],{"class":228}," start",[219,1314,1295],{"class":228},[219,1316,1317,1319,1321,1324,1327],{"class":221,"line":235},[219,1318,68],{"class":225},[219,1320,1289],{"class":228},[219,1322,1323],{"class":228}," enable",[219,1325,1326],{"class":228}," netdata",[219,1328,1329],{"class":371},"  # автозапуск\n",[34,1331,1332,1333],{},"Убедитесь, что порт 19999 открыт:\n",[211,1334,1336],{"className":213,"code":1335,"language":92,"meta":215,"style":215},"sudo ss -tulpn | grep 19999\n",[38,1337,1338],{"__ignoreMap":215},[219,1339,1340,1342,1345,1348,1352,1355],{"class":221,"line":222},[219,1341,68],{"class":225},[219,1343,1344],{"class":228}," ss",[219,1346,1347],{"class":443}," -tulpn",[219,1349,1351],{"class":1350},"szBVR"," |",[219,1353,1354],{"class":225}," grep",[219,1356,1357],{"class":443}," 19999\n",[193,1359,1361],{"id":1360},"iostat-показывает-0-util-но-диск-медленный","iostat показывает 0% util, но диск медленный",[21,1363,1364,1365,1368,1369,1371],{},"Это может быть связано с кэшем. Используйте опцию ",[38,1366,1367],{},"-x"," для расширенной статистики и смотрите на ",[38,1370,710],{},". Также проверьте:",[31,1373,1374,1380],{},[34,1375,1376,1377,45],{},"Состояние RAID (если есть) через ",[38,1378,1379],{},"cat /proc/mdstat",[34,1381,1382,1383,45],{},"SMART-статус диска: ",[38,1384,1385],{},"sudo smartctl -a /dev/sda",[193,1387,1389],{"id":1388},"nethogs-требует-root-но-я-не-имею-прав","nethogs требует root, но я не имею прав",[21,1391,1392,1393,1395,1396,1398,1399,178,1401,1404],{},"Если вы не root, попросите администратора добавить вашего пользователя в группу ",[38,1394,68],{}," или установить ",[38,1397,150],{}," с setuid (не рекомендуется из соображений безопасности). Альтернатива — использовать ",[38,1400,144],{},[38,1402,1403],{},"lsof"," для отслеживания соединений, но это менее наглядно.",[1406,1407,1408],"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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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":215,"searchDepth":235,"depth":235,"links":1410},[1411,1412,1413,1414,1418,1422,1426,1427,1431,1432],{"id":18,"depth":235,"text":19},{"id":54,"depth":235,"text":55},{"id":96,"depth":235,"text":97},{"id":190,"depth":235,"text":191,"children":1415},[1416,1417],{"id":195,"depth":387,"text":196},{"id":350,"depth":387,"text":351},{"id":454,"depth":235,"text":455,"children":1419},[1420,1421],{"id":458,"depth":387,"text":459},{"id":627,"depth":387,"text":628},{"id":714,"depth":235,"text":715,"children":1423},[1424,1425],{"id":718,"depth":387,"text":719},{"id":828,"depth":387,"text":829},{"id":904,"depth":235,"text":905},{"id":1012,"depth":235,"text":1013,"children":1428},[1429,1430],{"id":1019,"depth":387,"text":1020},{"id":1080,"depth":387,"text":1081},{"id":1165,"depth":235,"text":1166},{"id":1235,"depth":235,"text":1236,"children":1433},[1434,1435,1436,1437],{"id":1239,"depth":387,"text":1240},{"id":1271,"depth":387,"text":1272},{"id":1360,"depth":387,"text":1361},{"id":1388,"depth":387,"text":1389},null,"2026-02-16 19:05:25","Полное руководство по мониторингу Linux. Узнайте, какие утилиты (top, htop, nmon, netdata) использовать для контроля загрузки CPU, памяти, дисков и сети. Пошаговая инструкция с примерами.","medium",false,"15-30 мин","md",[1446,1449,1452,1455],{"question":1447,"answer":1448},"Какой инструмент мониторинга лучше для начала: top или htop?","Для новичков лучше **htop** — он имеет цветовое оформление, удобное управление мышью и более наглядный интерфейс. **Top** — стандартная утилита, всегда доступна, но менее информативна.",{"question":1450,"answer":1451},"Можно ли мониторить удалённый сервер без графического интерфейса?","Да, используйте **SSH** для подключения и консольные утилиты (`top`, `vmstat`, `nmon`). Для веб-интерфейса подходит **netdata** или **Glances** с доступом по сети.",{"question":1453,"answer":1454},"Как настроить алерты при высоких нагрузках?","Используйте **netdata** (встроенные алерты через `alarm`), **Prometheus** + **Alertmanager** или скрипты на **bash** с `cron`, которые проверяют метрики и отправляют уведомления.",{"question":1456,"answer":1457},"Чем nmon полезен для сбора отчётов?","**Nmon** позволяет записывать данные в файл (`-f`), а затем анализировать их офлайн. Это удобно для поиска причин прошлых проблем, когда система уже не в режиме реального времени.",[1459,1462,1465,1468,1471],{"name":1460,"text":1461},"Определите категорию мониторинга","Заранее решите, что нужно отслеживать: системные ресурсы (CPU, RAM), дисковое пространство, сетевую активность или логи. От этого зависит выбор инструмента.",{"name":1463,"text":1464},"Установите выбранные утилиты","Используйте пакетный менеджер вашего дистрибутива (`apt`, `yum`, `dnf`) для установки. Большинство инструментов есть в официальных репозиториях.",{"name":1466,"text":1467},"Настройте запуск и доступ","Для некоторых утилит (например, netdata) нужно открыть порт в фаерволе. Для системных (`top`) настройка не требуется.",{"name":1469,"text":1470},"Изучите базовые команды и интерфейс","Потратьте 5-10 минут на освоение основных клавиш управления (в htop: `F10` — выход, `F6` — сортировка).",{"name":1472,"text":1473},"Настройте постоянный мониторинг (опционально)","Если нужно долгосрочное наблюдение, настройте демон (например, netdata) или добавьте скрипт в `cron`.","PT20M",[1476,1477,1478,1479,1480,1481,1482,1483],"мониторинг linux","инструменты мониторинга linux","top htop nmon сравнение","утилиты для диагностики linux","как посмотреть загрузку процессора linux","мониторинг диска linux команды","сетевой мониторинг linux","установка netdata ubuntu","ru_RU",{},"/guides/linux/monitoring-tools","linux",[1489,1490,1491],"/guides/linux/disk-usage-commands","/guides/linux/network-troubleshooting","/errors/linux/oom-killer","Гайды Linux",{"title":5,"description":1440},"guides/linux/monitoring-tools","В этом гайде вы изучите основные категории инструментов мониторинга в Linux, научитесь устанавливать и использовать самые популярные утилиты для диагностики производительности системы в реальном времени.",[1497,1498,1499,1500,1501,1502],"мониторинг","система","linux-tools","performance","sysadmin","diagnostics","guide","rCRd8irGfjnQ_is6XStbpy0RkCF3LU2n0gl29JD-2Us",{"data":1506,"body":1507},{},{"type":1508,"children":1509},"root",[1510],{"type":1511,"tag":21,"props":1512,"children":1513},"element",{},[1514,1516,1520,1522,1527],{"type":893,"value":1515},"Для новичков лучше ",{"type":1511,"tag":66,"props":1517,"children":1518},{},[1519],{"type":893,"value":44},{"type":893,"value":1521}," — он имеет цветовое оформление, удобное управление мышью и более наглядный интерфейс. ",{"type":1511,"tag":66,"props":1523,"children":1524},{},[1525],{"type":893,"value":1526},"Top",{"type":893,"value":1528}," — стандартная утилита, всегда доступна, но менее информативна.",{"data":1530,"body":1531},{},{"type":1508,"children":1532},[1533],{"type":1511,"tag":21,"props":1534,"children":1535},{},[1536,1538,1543,1545,1550,1551,1557,1558,1563,1565,1569,1571,1576],{"type":893,"value":1537},"Да, используйте ",{"type":1511,"tag":66,"props":1539,"children":1540},{},[1541],{"type":893,"value":1542},"SSH",{"type":893,"value":1544}," для подключения и консольные утилиты (",{"type":1511,"tag":38,"props":1546,"children":1548},{"className":1547},[],[1549],{"type":893,"value":40},{"type":893,"value":111},{"type":1511,"tag":38,"props":1552,"children":1554},{"className":1553},[],[1555],{"type":893,"value":1556},"vmstat",{"type":893,"value":111},{"type":1511,"tag":38,"props":1559,"children":1561},{"className":1560},[],[1562],{"type":893,"value":132},{"type":893,"value":1564},"). Для веб-интерфейса подходит ",{"type":1511,"tag":66,"props":1566,"children":1567},{},[1568],{"type":893,"value":174},{"type":893,"value":1570}," или ",{"type":1511,"tag":66,"props":1572,"children":1573},{},[1574],{"type":893,"value":1575},"Glances",{"type":893,"value":1577}," с доступом по сети.",{"data":1579,"body":1580},{},{"type":1508,"children":1581},[1582],{"type":1511,"tag":21,"props":1583,"children":1584},{},[1585,1587,1591,1593,1599,1601,1605,1606,1611,1613,1617,1619,1625],{"type":893,"value":1586},"Используйте ",{"type":1511,"tag":66,"props":1588,"children":1589},{},[1590],{"type":893,"value":174},{"type":893,"value":1592}," (встроенные алерты через ",{"type":1511,"tag":38,"props":1594,"children":1596},{"className":1595},[],[1597],{"type":893,"value":1598},"alarm",{"type":893,"value":1600},"), ",{"type":1511,"tag":66,"props":1602,"children":1603},{},[1604],{"type":893,"value":177},{"type":893,"value":178},{"type":1511,"tag":66,"props":1607,"children":1608},{},[1609],{"type":893,"value":1610},"Alertmanager",{"type":893,"value":1612}," или скрипты на ",{"type":1511,"tag":66,"props":1614,"children":1615},{},[1616],{"type":893,"value":92},{"type":893,"value":1618}," с ",{"type":1511,"tag":38,"props":1620,"children":1622},{"className":1621},[],[1623],{"type":893,"value":1624},"cron",{"type":893,"value":1626},", которые проверяют метрики и отправляют уведомления.",{"data":1628,"body":1629},{},{"type":1508,"children":1630},[1631],{"type":1511,"tag":21,"props":1632,"children":1633},{},[1634,1639,1641,1646],{"type":1511,"tag":66,"props":1635,"children":1636},{},[1637],{"type":893,"value":1638},"Nmon",{"type":893,"value":1640}," позволяет записывать данные в файл (",{"type":1511,"tag":38,"props":1642,"children":1644},{"className":1643},[],[1645],{"type":893,"value":602},{"type":893,"value":1647},"), а затем анализировать их офлайн. Это удобно для поиска причин прошлых проблем, когда система уже не в режиме реального времени.",{"data":1649,"body":1650},{},{"type":1508,"children":1651},[1652],{"type":1511,"tag":21,"props":1653,"children":1654},{},[1655],{"type":893,"value":1461},{"data":1657,"body":1658},{},{"type":1508,"children":1659},[1660],{"type":1511,"tag":21,"props":1661,"children":1662},{},[1663,1665,1670,1671,1676,1677,1682],{"type":893,"value":1664},"Используйте пакетный менеджер вашего дистрибутива (",{"type":1511,"tag":38,"props":1666,"children":1668},{"className":1667},[],[1669],{"type":893,"value":75},{"type":893,"value":111},{"type":1511,"tag":38,"props":1672,"children":1674},{"className":1673},[],[1675],{"type":893,"value":79},{"type":893,"value":111},{"type":1511,"tag":38,"props":1678,"children":1680},{"className":1679},[],[1681],{"type":893,"value":82},{"type":893,"value":1683},") для установки. Большинство инструментов есть в официальных репозиториях.",{"data":1685,"body":1686},{},{"type":1508,"children":1687},[1688],{"type":1511,"tag":21,"props":1689,"children":1690},{},[1691,1693,1698],{"type":893,"value":1692},"Для некоторых утилит (например, netdata) нужно открыть порт в фаерволе. Для системных (",{"type":1511,"tag":38,"props":1694,"children":1696},{"className":1695},[],[1697],{"type":893,"value":40},{"type":893,"value":1699},") настройка не требуется.",{"data":1701,"body":1702},{},{"type":1508,"children":1703},[1704],{"type":1511,"tag":21,"props":1705,"children":1706},{},[1707,1709,1714,1716,1721],{"type":893,"value":1708},"Потратьте 5-10 минут на освоение основных клавиш управления (в htop: ",{"type":1511,"tag":38,"props":1710,"children":1712},{"className":1711},[],[1713],{"type":893,"value":287},{"type":893,"value":1715}," — выход, ",{"type":1511,"tag":38,"props":1717,"children":1719},{"className":1718},[],[1720],{"type":893,"value":293},{"type":893,"value":1722}," — сортировка).",{"data":1724,"body":1725},{},{"type":1508,"children":1726},[1727],{"type":1511,"tag":21,"props":1728,"children":1729},{},[1730,1732,1737],{"type":893,"value":1731},"Если нужно долгосрочное наблюдение, настройте демон (например, netdata) или добавьте скрипт в ",{"type":1511,"tag":38,"props":1733,"children":1735},{"className":1734},[],[1736],{"type":893,"value":1624},{"type":893,"value":45},[1739,2523],{"id":1740,"title":1741,"appliesTo":1742,"author":11,"body":1746,"canonical":1438,"code":1438,"createdAt":2464,"description":2465,"difficulty":1441,"draft":1442,"estimatedTime":1443,"extension":1444,"faq":2466,"howToSteps":2479,"howToTotalTime":1474,"image":1438,"keywords":2498,"locale":1484,"meta":2507,"navigation":390,"path":1490,"platform":1487,"related":2508,"section":2512,"seo":2513,"severity":1438,"stem":2514,"summary":2515,"tags":2516,"twitterCreator":1438,"twitterSite":1438,"type":1503,"updatedAt":2464,"__hash__":2522},"content_ru/guides/linux/network-troubleshooting.md","Диагностика сетевых проблем в Linux: практическое руководство",[7,1743,1744,1745],"Debian 12+","CentOS Stream","Fedora 38+",{"type":13,"value":1747,"toc":2452},[1748,1752,1755,1758,1762,1765,1776,1779,1783,1786,1802,1822,1842,1845,1868,1871,1885,1892,1896,1899,1917,1929,1932,1948,1955,1971,1973,1977,1980,1994,1997,2003,2006,2009,2033,2036,2040,2043,2056,2059,2072,2075,2088,2091,2103,2113,2136,2143,2147,2150,2162,2165,2191,2194,2200,2203,2219,2223,2226,2229,2250,2253,2269,2272,2287,2292,2295,2353,2355,2358,2400,2403,2405,2422,2436,2449],[16,1749,1751],{"id":1750},"введение","Введение",[21,1753,1754],{},"Сетевые проблемы — одна из самых частых задач, с которыми сталкиваются администраторы и пользователи Linux. Неработающий интерфейс, недоступные ресурсы, медленное соединение — всё это требует системного подхода к диагностике. В этом гайде собраны основные команды и методы, которые помогут быстро найти причину неполадок и восстановить работу сети.",[21,1756,1757],{},"Статья охватывает диагностику на всех уровнях: от физического подключения до DNS и файрвола. Все примеры работают в современных дистрибутивах Ubuntu, Debian, CentOS и Fedora.",[16,1759,1761],{"id":1760},"подготовка","Подготовка",[21,1763,1764],{},"Перед началом диагностики убедитесь, что у вас есть доступ к терминалу с правами суперпользователя (для некоторых команд). Также полезно знать:",[31,1766,1767,1770,1773],{},[34,1768,1769],{},"IP-адрес вашего компьютера",[34,1771,1772],{},"IP-адрес шлюза (роутера)",[34,1774,1775],{},"адреса DNS-серверов (обычно предоставляются провайдером или настраиваются автоматически)",[21,1777,1778],{},"Если вы подключены через WiFi, сначала убедитесь, что беспроводной адаптер включён и ассоциирован с точкой доступа.",[16,1780,1782],{"id":1781},"шаг-1-проверка-состояния-сетевых-интерфейсов","Шаг 1: Проверка состояния сетевых интерфейсов",[21,1784,1785],{},"Начните с просмотра всех сетевых интерфейсов и их текущего состояния:",[211,1787,1789],{"className":213,"code":1788,"language":92,"meta":215,"style":215},"ip link show\n",[38,1790,1791],{"__ignoreMap":215},[219,1792,1793,1796,1799],{"class":221,"line":222},[219,1794,1795],{"class":225},"ip",[219,1797,1798],{"class":228}," link",[219,1800,1801],{"class":228}," show\n",[21,1803,1804,1805,1570,1807,1810,1811,1570,1814,1817,1818,1821],{},"Вы увидите список интерфейсов (обычно ",[38,1806,785],{},[38,1808,1809],{},"enp0s3"," для проводных, ",[38,1812,1813],{},"wlan0",[38,1815,1816],{},"wlp2s0"," для беспроводных, ",[38,1819,1820],{},"lo"," — локальный интерфейс). Обратите внимание на строку состояния:",[31,1823,1824,1830,1836],{},[34,1825,1826,1829],{},[66,1827,1828],{},"UP, LOWER_UP"," — интерфейс включён и работает",[34,1831,1832,1835],{},[66,1833,1834],{},"DOWN"," — интерфейс отключён",[34,1837,1838,1841],{},[66,1839,1840],{},"NO-CARRIER"," — кабель не подключён или проблемы с физическим соединением",[21,1843,1844],{},"Если интерфейс в состоянии DOWN, включите его:",[211,1846,1848],{"className":213,"code":1847,"language":92,"meta":215,"style":215},"sudo ip link set eth0 up\n",[38,1849,1850],{"__ignoreMap":215},[219,1851,1852,1854,1857,1859,1862,1865],{"class":221,"line":222},[219,1853,68],{"class":225},[219,1855,1856],{"class":228}," ip",[219,1858,1798],{"class":228},[219,1860,1861],{"class":228}," set",[219,1863,1864],{"class":228}," eth0",[219,1866,1867],{"class":228}," up\n",[21,1869,1870],{},"Для получения подробной информации об IP-адресах выполните:",[211,1872,1874],{"className":213,"code":1873,"language":92,"meta":215,"style":215},"ip addr show\n",[38,1875,1876],{"__ignoreMap":215},[219,1877,1878,1880,1883],{"class":221,"line":222},[219,1879,1795],{"class":225},[219,1881,1882],{"class":228}," addr",[219,1884,1801],{"class":228},[21,1886,1887,1888,1891],{},"Здесь вы увидите назначенные IP-адреса, маску подсети и состояние интерфейса. Если адрес отсутствует (нет строки ",[38,1889,1890],{},"inet","), это объясняет проблемы с сетью.",[16,1893,1895],{"id":1894},"шаг-2-тестирование-базового-подключения","Шаг 2: Тестирование базового подключения",[21,1897,1898],{},"После проверки интерфейсов переходите к тестированию связности. Сначала пропингуйте локальный шлюз:",[211,1900,1902],{"className":213,"code":1901,"language":92,"meta":215,"style":215},"ping -c 4 192.168.1.1\n",[38,1903,1904],{"__ignoreMap":215},[219,1905,1906,1909,1911,1914],{"class":221,"line":222},[219,1907,1908],{"class":225},"ping",[219,1910,589],{"class":443},[219,1912,1913],{"class":443}," 4",[219,1915,1916],{"class":443}," 192.168.1.1\n",[324,1918,1919],{},[21,1920,1921,1922,1925,1926,45],{},"⚠️ Важно: замените ",[38,1923,1924],{},"192.168.1.1"," на реальный IP-адрес вашего роутера. Узнать его можно командой ",[38,1927,1928],{},"ip route | grep default",[21,1930,1931],{},"Если пинг проходит успешно (вы видите ответы от шлюза), переходите к тестированию внешнего подключения:",[211,1933,1935],{"className":213,"code":1934,"language":92,"meta":215,"style":215},"ping -c 4 8.8.8.8\n",[38,1936,1937],{"__ignoreMap":215},[219,1938,1939,1941,1943,1945],{"class":221,"line":222},[219,1940,1908],{"class":225},[219,1942,589],{"class":443},[219,1944,1913],{"class":443},[219,1946,1947],{"class":443}," 8.8.8.8\n",[21,1949,1950,1951,1954],{},"Мы используем Google DNS (",[38,1952,1953],{},"8.8.8.8",") потому, что этот адрес всегда доступен и редко блокируется. Отсутствие ответов означает проблему с маршрутизацией или файрволом.",[324,1956,1957],{},[21,1958,1959,1960,1962,1963,1966,1967,1970],{},"💡 Совет: для непрерывного мониторинга используйте ",[38,1961,1908],{}," без ключа ",[38,1964,1965],{},"-c",". Нажмите ",[66,1968,1969],{},"Ctrl+C"," для остановки.",[900,1972],{},[16,1974,1976],{"id":1975},"шаг-3-диагностика-маршрутизации","Шаг 3: Диагностика маршрутизации",[21,1978,1979],{},"Если пинг до шлюза работает, но до внешних адресов — нет, проблема в маршрутизации. Просмотрите таблицу маршрутов:",[211,1981,1983],{"className":213,"code":1982,"language":92,"meta":215,"style":215},"ip route show\n",[38,1984,1985],{"__ignoreMap":215},[219,1986,1987,1989,1992],{"class":221,"line":222},[219,1988,1795],{"class":225},[219,1990,1991],{"class":228}," route",[219,1993,1801],{"class":228},[21,1995,1996],{},"Типичный вывод:",[211,1998,2001],{"className":1999,"code":2000,"language":893},[891],"default via 192.168.1.1 dev eth0 proto dhcp\n192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100\n",[38,2002,2000],{"__ignoreMap":215},[21,2004,2005],{},"Первая строка — маршрут по умолчанию (шлюз для всего исходящего трафика). Вторая — локальная сеть. Если маршрут по умолчанию отсутствует, интернет работать не будет.",[21,2007,2008],{},"Добавить шлюз вручную можно так:",[211,2010,2012],{"className":213,"code":2011,"language":92,"meta":215,"style":215},"sudo ip route add default via 192.168.1.1\n",[38,2013,2014],{"__ignoreMap":215},[219,2015,2016,2018,2020,2022,2025,2028,2031],{"class":221,"line":222},[219,2017,68],{"class":225},[219,2019,1856],{"class":228},[219,2021,1991],{"class":228},[219,2023,2024],{"class":228}," add",[219,2026,2027],{"class":228}," default",[219,2029,2030],{"class":228}," via",[219,2032,1916],{"class":443},[21,2034,2035],{},"Но это временное решение — после перезагрузки настройки сбросятся. Лучше настроить DHCP или прописать статический маршрут в конфигурации системы.",[16,2037,2039],{"id":2038},"шаг-4-проверка-dns","Шаг 4: Проверка DNS",[21,2041,2042],{},"Когда пинг по IP-адресам работает, но сайты не открываются, — это классический признак проблем с DNS. Сначала проверьте, какие DNS-серверы используются:",[211,2044,2046],{"className":213,"code":2045,"language":92,"meta":215,"style":215},"cat /etc/resolv.conf\n",[38,2047,2048],{"__ignoreMap":215},[219,2049,2050,2053],{"class":221,"line":222},[219,2051,2052],{"class":225},"cat",[219,2054,2055],{"class":228}," /etc/resolv.conf\n",[21,2057,2058],{},"Современные дистрибутивы (systemd-resolved) могут не использовать этот файл напрямую. Проверьте текущие DNS:",[211,2060,2062],{"className":213,"code":2061,"language":92,"meta":215,"style":215},"resolvectl status\n",[38,2063,2064],{"__ignoreMap":215},[219,2065,2066,2069],{"class":221,"line":222},[219,2067,2068],{"class":225},"resolvectl",[219,2070,2071],{"class":228}," status\n",[21,2073,2074],{},"Теперь протестируйте разрешение имён:",[211,2076,2078],{"className":213,"code":2077,"language":92,"meta":215,"style":215},"nslookup ya.ru\n",[38,2079,2080],{"__ignoreMap":215},[219,2081,2082,2085],{"class":221,"line":222},[219,2083,2084],{"class":225},"nslookup",[219,2086,2087],{"class":228}," ya.ru\n",[21,2089,2090],{},"или",[211,2092,2094],{"className":213,"code":2093,"language":92,"meta":215,"style":215},"dig ya.ru\n",[38,2095,2096],{"__ignoreMap":215},[219,2097,2098,2101],{"class":221,"line":222},[219,2099,2100],{"class":225},"dig",[219,2102,2087],{"class":228},[21,2104,2105,2106,2108,2109,2112],{},"Если команды возвращают ошибку или не находят адрес, проблема в DNS-серверах. Временное решение — использовать публичные DNS (например, Google ",[38,2107,1953],{}," или Cloudflare ",[38,2110,2111],{},"1.1.1.1","):",[211,2114,2116],{"className":213,"code":2115,"language":92,"meta":215,"style":215},"sudo resolvectl dns eth0 8.8.8.8 1.1.1.1\n",[38,2117,2118],{"__ignoreMap":215},[219,2119,2120,2122,2125,2128,2130,2133],{"class":221,"line":222},[219,2121,68],{"class":225},[219,2123,2124],{"class":228}," resolvectl",[219,2126,2127],{"class":228}," dns",[219,2129,1864],{"class":228},[219,2131,2132],{"class":443}," 8.8.8.8",[219,2134,2135],{"class":443}," 1.1.1.1\n",[21,2137,2138,2139,2142],{},"Для постоянной настройки отредактируйте файл ",[38,2140,2141],{},"/etc/netplan/*.yaml"," (Ubuntu) или создайте конфигурацию в NetworkManager.",[16,2144,2146],{"id":2145},"шаг-5-анализ-открытых-портов-и-служб","Шаг 5: Анализ открытых портов и служб",[21,2148,2149],{},"Иногда проблема не в подключении, а в том, что нужная служба не работает или слушает не тот порт. Просмотрите все открытые порты:",[211,2151,2153],{"className":213,"code":2152,"language":92,"meta":215,"style":215},"ss -tulpn\n",[38,2154,2155],{"__ignoreMap":215},[219,2156,2157,2159],{"class":221,"line":222},[219,2158,144],{"class":225},[219,2160,2161],{"class":443}," -tulpn\n",[21,2163,2164],{},"Ключи означают:",[31,2166,2167,2173,2179,2185],{},[34,2168,2169,2172],{},[38,2170,2171],{},"-t"," — TCP-порты",[34,2174,2175,2178],{},[38,2176,2177],{},"-u"," — UDP-порты",[34,2180,2181,2184],{},[38,2182,2183],{},"-l"," — только слушающие",[34,2186,2187,2190],{},[38,2188,2189],{},"-p"," — показать процессы",[21,2192,2193],{},"Вы увидите таблицу с адресами, портами и именами процессов. Например:",[211,2195,2198],{"className":2196,"code":2197,"language":893},[891],"LISTEN  0  511  0.0.0.0:22   0.0.0.0:*  users:((\"sshd\",pid=1234))\n",[38,2199,2197],{"__ignoreMap":215},[21,2201,2202],{},"Если нужный порт (например, 80 для веб-сервера) отсутствует в списке, проверьте, запущена ли соответствующая служба:",[211,2204,2206],{"className":213,"code":2205,"language":92,"meta":215,"style":215},"sudo systemctl status nginx\n",[38,2207,2208],{"__ignoreMap":215},[219,2209,2210,2212,2214,2216],{"class":221,"line":222},[219,2211,68],{"class":225},[219,2213,1289],{"class":228},[219,2215,1292],{"class":228},[219,2217,2218],{"class":228}," nginx\n",[16,2220,2222],{"id":2221},"шаг-6-проверка-файрвола","Шаг 6: Проверка файрвола",[21,2224,2225],{},"Брандмауэр может блокировать как входящие, так и исходящие соединения. Проверьте текущие правила.",[21,2227,2228],{},"Для iptables:",[211,2230,2232],{"className":213,"code":2231,"language":92,"meta":215,"style":215},"sudo iptables -L -v -n\n",[38,2233,2234],{"__ignoreMap":215},[219,2235,2236,2238,2241,2244,2247],{"class":221,"line":222},[219,2237,68],{"class":225},[219,2239,2240],{"class":228}," iptables",[219,2242,2243],{"class":443}," -L",[219,2245,2246],{"class":443}," -v",[219,2248,2249],{"class":443}," -n\n",[21,2251,2252],{},"Для ufw (Ubuntu):",[211,2254,2256],{"className":213,"code":2255,"language":92,"meta":215,"style":215},"sudo ufw status verbose\n",[38,2257,2258],{"__ignoreMap":215},[219,2259,2260,2262,2264,2266],{"class":221,"line":222},[219,2261,68],{"class":225},[219,2263,979],{"class":228},[219,2265,1292],{"class":228},[219,2267,2268],{"class":228}," verbose\n",[21,2270,2271],{},"Для firewalld (CentOS, Fedora):",[211,2273,2275],{"className":213,"code":2274,"language":92,"meta":215,"style":215},"sudo firewall-cmd --list-all\n",[38,2276,2277],{"__ignoreMap":215},[219,2278,2279,2281,2284],{"class":221,"line":222},[219,2280,68],{"class":225},[219,2282,2283],{"class":228}," firewall-cmd",[219,2285,2286],{"class":443}," --list-all\n",[324,2288,2289],{},[21,2290,2291],{},"💡 Совет: если вы не уверены в настройках файрвола, временно отключите его для теста, а затем настройте правила корректно.",[21,2293,2294],{},"Отключить файрвол временно:",[211,2296,2298],{"className":213,"code":2297,"language":92,"meta":215,"style":215},"# ufw\nsudo ufw disable\n\n# firewalld\nsudo systemctl stop firewalld\n\n# iptables (требует перечисления всех правил)\nsudo iptables -F\n",[38,2299,2300,2305,2314,2318,2323,2335,2339,2344],{"__ignoreMap":215},[219,2301,2302],{"class":221,"line":222},[219,2303,2304],{"class":371},"# ufw\n",[219,2306,2307,2309,2311],{"class":221,"line":235},[219,2308,68],{"class":225},[219,2310,979],{"class":228},[219,2312,2313],{"class":228}," disable\n",[219,2315,2316],{"class":221,"line":387},[219,2317,391],{"emptyLinePlaceholder":390},[219,2319,2320],{"class":221,"line":394},[219,2321,2322],{"class":371},"# firewalld\n",[219,2324,2325,2327,2329,2332],{"class":221,"line":400},[219,2326,68],{"class":225},[219,2328,1289],{"class":228},[219,2330,2331],{"class":228}," stop",[219,2333,2334],{"class":228}," firewalld\n",[219,2336,2337],{"class":221,"line":415},[219,2338,391],{"emptyLinePlaceholder":390},[219,2340,2341],{"class":221,"line":1063},[219,2342,2343],{"class":371},"# iptables (требует перечисления всех правил)\n",[219,2345,2346,2348,2350],{"class":221,"line":1069},[219,2347,68],{"class":225},[219,2349,2240],{"class":228},[219,2351,2352],{"class":443}," -F\n",[16,2354,1166],{"id":1165},[21,2356,2357],{},"После выполнения шагов убедитесь, что сеть работает:",[60,2359,2360,2370,2379,2385,2391],{},[34,2361,2362,2365,2366,2369],{},[66,2363,2364],{},"Интерфейс включён"," — ",[38,2367,2368],{},"ip link show"," должен показывать статус UP",[34,2371,2372,2365,2375,2378],{},[66,2373,2374],{},"Есть IP-адрес",[38,2376,2377],{},"ip addr"," показывает адрес в вашей подсети",[34,2380,2381,2384],{},[66,2382,2383],{},"Пинг до шлюза работает"," — ответы от роутера",[34,2386,2387,2390],{},[66,2388,2389],{},"Пинг до интернета работает"," — ответы от 8.8.8.8",[34,2392,2393,2365,2396,2399],{},[66,2394,2395],{},"DNS работает",[38,2397,2398],{},"nslookup ya.ru"," возвращает IP-адрес",[21,2401,2402],{},"Если всё перечисленное выполняется — сеть работает корректно.",[16,2404,1236],{"id":1235},[21,2406,2407,2410,2411,1570,2414,2417,2418,2421],{},[66,2408,2409],{},"Нет IP-адреса после перезагрузки","\nПроверьте, что служба DHCP-клиента работает: ",[38,2412,2413],{},"sudo systemctl status systemd-networkd",[38,2415,2416],{},"NetworkManager",". Для статического IP настройте конфигурацию в ",[38,2419,2420],{},"/etc/netplan/"," или через NetworkManager.",[21,2423,2424,2427,2428,2431,2432,2435],{},[66,2425,2426],{},"Соединение устанавливается, но обрывается","\nПроверьте качество кабеля (для проводного подключения) или сигнал WiFi. Используйте ",[38,2429,2430],{},"iwconfig"," для беспроводного адаптера и ",[38,2433,2434],{},"sudoiwlist wlan0 scan"," для поиска сетей.",[21,2437,2438,2441,2442,2445,2446,45],{},[66,2439,2440],{},"Скорость очень низкая","\nЗапустите тест скорости и проверьте загрузку интерфейса: ",[38,2443,2444],{},"ip -s link",". Проблема может быть в дуплексе (полный/полудуплекс) — настройте вручную: ",[38,2447,2448],{},"sudo ethtool -s eth0 speed 100 duplex full",[1406,2450,2451],{},"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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":215,"searchDepth":235,"depth":235,"links":2453},[2454,2455,2456,2457,2458,2459,2460,2461,2462,2463],{"id":1750,"depth":235,"text":1751},{"id":1760,"depth":235,"text":1761},{"id":1781,"depth":235,"text":1782},{"id":1894,"depth":235,"text":1895},{"id":1975,"depth":235,"text":1976},{"id":2038,"depth":235,"text":2039},{"id":2145,"depth":235,"text":2146},{"id":2221,"depth":235,"text":2222},{"id":1165,"depth":235,"text":1166},{"id":1235,"depth":235,"text":1236},"2026-04-09 11:40:13","Пошаговая инструкция по выявлению и решению сетевых проблем в Linux. Эффективные методы и команды для восстановления connectivity.",[2467,2470,2473,2476],{"question":2468,"answer":2469},"Как быстро проверить, работает ли сеть в Linux?","Используйте команды `ip link show` для проверки интерфейсов и `ping 8.8.8.8` для тестирования подключения к интернету.",{"question":2471,"answer":2472},"Почему сайт не открывается, хотя интернет работает?","Проблема скорее всего в DNS. Проверьте настройки в `/etc/resolv.conf` или используйте `nslookup` для тестирования разрешения имён.",{"question":2474,"answer":2475},"Как узнать, какие порты открыты и слушаются?","Выполните `ss -tuln` или `netstat -tuln` для просмотра всех открытых портов и связанных с ними процессов.",{"question":2477,"answer":2478},"Как определить, где теряются пакеты?","Используйте `traceroute` (или `tracepath`) для отображения полного маршрута пакетов и выявления проблемных узлов.",[2480,2483,2486,2489,2492,2495],{"name":2481,"text":2482},"Проверка состояния сетевых интерфейсов","Выполните `ip link show` для просмотра всех сетевых интерфейсов и их состояния. Обратите внимание на статус UP/DOWN и наличие IP-адреса.",{"name":2484,"text":2485},"Тестирование базового подключения","Проверьте связность с локальным шлюзом (`ping \u003CIP-шлюза>`) и публичным DNS Google (`ping 8.8.8.8`). Отсутствие ответа указывает на проблему на уровне сети.",{"name":2487,"text":2488},"Диагностика маршрутизации","Используйте `ip route show` для просмотра таблицы маршрутизации. Проверьте маршрут по умолчанию (default) и соответствие IP-адресов.",{"name":2490,"text":2491},"Проверка DNS","Выполните `nslookup ya.ru` или `dig ya.ru` для тестирования разрешения доменных имён. Если имена не резолвятся — проблема в DNS-серверах.",{"name":2493,"text":2494},"Анализ открытых портов","Используйте `ss -tulpn` для просмотра открытых портов и процессов, которые их слушают. Проверьте, работают ли нужные службы.",{"name":2496,"text":2497},"Проверка файрвола","Посмотрите текущие правила iptables (`sudo iptables -L`) или ufw (`sudo ufw status`). Брандмауэр может блокировать необходимые соединения.",[2499,2500,2501,2502,2503,2504,2505,2506],"диагностика сети linux","network troubleshooting linux","проверить сетевое подключение linux","ping traceroute linux","netstat nmap linux","настройка сети ubuntu","dns проблемы linux","сетевой интерфейс linux не работает",{},[2509,2510,2511],"/guides/linux/network-configuration-ubuntu","/guides/linux/wifi-troubleshooting","/guides/linux/firewall-setup","Администрирование Linux",{"title":1741,"description":2465},"guides/linux/network-troubleshooting","Подробный гайд по диагностике и устранению сетевых неполадок в Linux. Включает проверку интерфейсов, тестирование связности, анализ DNS и диагностику портов.",[1487,2517,2518,2519,2520,2521,1795,1908],"network","troubleshooting","диагностика","команды терминала","администрирование","sN-eMIu9W36hqmehXEUFjKAVBQpBX9dIG-GixqYxT0o",{"id":2524,"title":2525,"appliesTo":2526,"author":11,"body":2530,"canonical":1438,"code":1438,"createdAt":3631,"description":3632,"difficulty":1441,"draft":1442,"estimatedTime":1443,"extension":1444,"faq":3633,"howToSteps":3646,"howToTotalTime":3665,"image":1438,"keywords":3666,"locale":1484,"meta":3676,"navigation":390,"path":1491,"platform":1487,"related":3677,"section":3681,"seo":3682,"severity":3683,"stem":3684,"summary":3685,"tags":3686,"twitterCreator":1438,"twitterSite":1438,"type":1503,"updatedAt":3631,"__hash__":3692},"content_ru/errors/linux/oom-killer.md","OOM Killer в Linux: как обнаружить и предотвратить",[2527,2528,9,2529],"Ubuntu 20.04+","CentOS 7+","ядро Linux 4.15+",{"type":13,"value":2531,"toc":3615},[2532,2536,2542,2545,2559,2566,2570,2577,2588,2594,2598,2601,2856,2858,2862,2870,2885,2891,2929,2935,2957,2963,2973,2977,2983,2989,3058,3063,3139,3143,3146,3156,3173,3184,3190,3199,3202,3208,3217,3221,3224,3254,3257,3316,3320,3402,3406,3409,3414,3460,3465,3525,3535,3539,3581,3585,3588,3603,3606,3612],[16,2533,2535],{"id":2534},"что-такое-oom-killer-и-почему-он-появляется","Что такое OOM Killer и почему он появляется",[21,2537,2538,2541],{},[66,2539,2540],{},"OOM Killer (Out-of-Memory Killer)"," — это механизм ядра Linux, который автоматически завершает процессы, когда система исчерпала доступную оперативную память (RAM) и swap-пространство. Его цель — освободить память, чтобы ядро и критические системные процессы могли продолжить работу, предотвращая полный крах системы.",[21,2543,2544],{},"Обычно OOM Killer активируется, когда:",[31,2546,2547,2550,2553,2556],{},[34,2548,2549],{},"Физическая RAM и swap заполнены на 100%.",[34,2551,2552],{},"Приложение имеет утечку памяти (memory leak).",[34,2554,2555],{},"На сервере запущено слишком много memory-intensive процессов.",[34,2557,2558],{},"Неправильно настроены лимиты памяти в контейнерах (Docker/Kubernetes).",[21,2560,2561,2562,2565],{},"Если вы видите в логах сообщение ",[38,2563,2564],{},"Killed process"," или приложение внезапно завершается с кодом 137 (SIGKILL), скорее всего, виноват OOM Killer.",[16,2567,2569],{"id":2568},"как-работает-oom-killer","Как работает OOM Killer",[21,2571,2572,2573,2576],{},"Ядро Linux вычисляет ",[66,2574,2575],{},"oom_score"," для каждого процесса на основе:",[31,2578,2579,2582,2585],{},[34,2580,2581],{},"Доли памяти, потребляемой процессом (основной фактор).",[34,2583,2584],{},"Привилегий процесса (процессы root имеют меньший шанс быть убитыми).",[34,2586,2587],{},"Времени жизни процесса (долгоживущие процессы могут иметь более высокий score).",[21,2589,2590,2591,2593],{},"Процесс с самым высоким ",[38,2592,2575],{}," выбирается для завершения. Однако это не всегда оптимально: OOM Killer может убить важный сервис, а оставить фоновый процесс с утечкой.",[16,2595,2597],{"id":2596},"диагностика-проблемы","Диагностика проблемы",[21,2599,2600],{},"Перед любыми действиями нужно подтвердить, что проблема именно в OOM Killer.",[60,2602,2603,2645,2686,2728],{},[34,2604,2605,2608,2609,2628,2631,2632,2638,2640,2641,2644],{},[66,2606,2607],{},"Проверьте логи ядра",":",[211,2610,2612],{"className":213,"code":2611,"language":92,"meta":215,"style":215},"dmesg | grep -i kill\n",[38,2613,2614],{"__ignoreMap":215},[219,2615,2616,2619,2621,2623,2625],{"class":221,"line":222},[219,2617,2618],{"class":225},"dmesg",[219,2620,1351],{"class":1350},[219,2622,1354],{"class":225},[219,2624,776],{"class":443},[219,2626,2627],{"class":228}," kill\n",[2629,2630],"br",{},"Пример вывода:",[211,2633,2636],{"className":2634,"code":2635,"language":893},[891],"[12345.678] Out of memory: Kill process 1234 (nginx) score 500 or sacrifice child\n[12345.680] Killed process 1234 (nginx) total-vm:1234567kB, anon-rss:456789kB, file-rss:0kB\n",[38,2637,2635],{"__ignoreMap":215},[2629,2639],{},"Здесь видно, что процесс ",[38,2642,2643],{},"nginx"," с PID 1234 был убит.",[34,2646,2647,2608,2650,2663,2665,2666,111,2669,111,2672,2675,2676,2679,2680,2682,2683,2685],{},[66,2648,2649],{},"Оцените общую память",[211,2651,2653],{"className":213,"code":2652,"language":92,"meta":215,"style":215},"free -h\n",[38,2654,2655],{"__ignoreMap":215},[219,2656,2657,2660],{"class":221,"line":222},[219,2658,2659],{"class":225},"free",[219,2661,2662],{"class":443}," -h\n",[2629,2664],{},"Обратите внимание на столбцы ",[38,2667,2668],{},"total",[38,2670,2671],{},"used",[38,2673,2674],{},"available"," и ",[38,2677,2678],{},"Swap",". Если ",[38,2681,2674],{}," близок к нулю, а ",[38,2684,2678],{}," также заполнен — система в критическом состоянии.",[34,2687,2688,2608,2691,2717,2719,2720,2722,2723,339,2725,117],{},[66,2689,2690],{},"Найдите процесс-потребителя",[211,2692,2694],{"className":213,"code":2693,"language":92,"meta":215,"style":215},"top -b -n 1 | head -20\n",[38,2695,2696],{"__ignoreMap":215},[219,2697,2698,2700,2703,2706,2709,2711,2714],{"class":221,"line":222},[219,2699,40],{"class":225},[219,2701,2702],{"class":443}," -b",[219,2704,2705],{"class":443}," -n",[219,2707,2708],{"class":443}," 1",[219,2710,1351],{"class":1350},[219,2712,2713],{"class":225}," head",[219,2715,2716],{"class":443}," -20\n",[2629,2718],{},"Или используйте ",[38,2721,44],{}," с сортировкой по памяти (клавиша ",[38,2724,293],{},[38,2726,2727],{},"MEM%",[34,2729,2730,2608,2733,2851,2853,2854,45],{},[66,2731,2732],{},"Проверьте oom_score процессов",[211,2734,2736],{"className":213,"code":2735,"language":92,"meta":215,"style":215},"for pid in $(ps -e | awk '{print $1}' | tail -n +2); do\n  echo \"PID $pid: $(cat /proc/$pid/oom_score 2>/dev/null) (adj: $(cat /proc/$pid/oom_score_adj 2>/dev/null))\"\ndone | sort -k3 -n -r | head -10\n",[38,2737,2738,2783,2827],{"__ignoreMap":215},[219,2739,2740,2743,2747,2750,2753,2756,2759,2761,2764,2767,2769,2772,2774,2777,2780],{"class":221,"line":222},[219,2741,2742],{"class":1350},"for",[219,2744,2746],{"class":2745},"sVt8B"," pid ",[219,2748,2749],{"class":1350},"in",[219,2751,2752],{"class":2745}," $(",[219,2754,2755],{"class":225},"ps",[219,2757,2758],{"class":443}," -e",[219,2760,1351],{"class":1350},[219,2762,2763],{"class":225}," awk",[219,2765,2766],{"class":228}," '{print $1}'",[219,2768,1351],{"class":1350},[219,2770,2771],{"class":225}," tail",[219,2773,2705],{"class":443},[219,2775,2776],{"class":228}," +2",[219,2778,2779],{"class":2745},"); ",[219,2781,2782],{"class":1350},"do\n",[219,2784,2785,2788,2791,2794,2797,2799,2802,2804,2807,2810,2813,2815,2817,2819,2822,2824],{"class":221,"line":235},[219,2786,2787],{"class":443},"  echo",[219,2789,2790],{"class":228}," \"PID ",[219,2792,2793],{"class":2745},"$pid",[219,2795,2796],{"class":228},": $(",[219,2798,2052],{"class":225},[219,2800,2801],{"class":228}," /proc/",[219,2803,2793],{"class":2745},[219,2805,2806],{"class":228},"/oom_score ",[219,2808,2809],{"class":1350},"2>",[219,2811,2812],{"class":228},"/dev/null) (adj: $(",[219,2814,2052],{"class":225},[219,2816,2801],{"class":228},[219,2818,2793],{"class":2745},[219,2820,2821],{"class":228},"/oom_score_adj ",[219,2823,2809],{"class":1350},[219,2825,2826],{"class":228},"/dev/null))\"\n",[219,2828,2829,2832,2834,2837,2840,2842,2844,2846,2848],{"class":221,"line":387},[219,2830,2831],{"class":1350},"done",[219,2833,1351],{"class":1350},[219,2835,2836],{"class":225}," sort",[219,2838,2839],{"class":443}," -k3",[219,2841,2705],{"class":443},[219,2843,1259],{"class":443},[219,2845,1351],{"class":1350},[219,2847,2713],{"class":225},[219,2849,2850],{"class":443}," -10\n",[2629,2852],{},"Это покажет топ-10 процессов с наивысшим ",[38,2855,2575],{},[900,2857],{},[16,2859,2861],{"id":2860},"методы-решения-проблемы","Методы решения проблемы",[193,2863,2865,2866,2869],{"id":2864},"шаг-1-настройка-oom_score_adj-для-защиты-ключевых-процессов","Шаг 1: Настройка ",[38,2867,2868],{},"oom_score_adj"," для защиты ключевых процессов",[21,2871,2872,2873,2876,2877,2880,2881,2884],{},"Каждому процессу можно задать ",[66,2874,2875],{},"adj","-значение от ",[38,2878,2879],{},"-1000"," (максимальная защита) до ",[38,2882,2883],{},"+1000"," (максимальный приоритет на убийство). Это самый быстрый способ защитить процесс.",[21,2886,2887,2890],{},[66,2888,2889],{},"Для одноразовой настройки"," (до перезагрузки):",[211,2892,2894],{"className":213,"code":2893,"language":92,"meta":215,"style":215},"# Замените \u003CPID> на идентификатор процесса\necho -1000 > /proc/\u003CPID>/oom_score_adj\n",[38,2895,2896,2901],{"__ignoreMap":215},[219,2897,2898],{"class":221,"line":222},[219,2899,2900],{"class":371},"# Замените \u003CPID> на идентификатор процесса\n",[219,2902,2903,2906,2909,2912,2914,2917,2920,2923,2926],{"class":221,"line":235},[219,2904,2905],{"class":443},"echo",[219,2907,2908],{"class":443}," -1000",[219,2910,2911],{"class":1350}," >",[219,2913,2801],{"class":228},[219,2915,2916],{"class":1350},"\u003C",[219,2918,2919],{"class":228},"PI",[219,2921,2922],{"class":2745},"D",[219,2924,2925],{"class":1350},">",[219,2927,2928],{"class":228},"/oom_score_adj\n",[21,2930,2931,2934],{},[66,2932,2933],{},"Для постоянной настройки через systemd"," (рекомендуется):\nСоздайте или отредактируйте юнит:",[211,2936,2940],{"className":2937,"code":2938,"language":2939,"meta":215,"style":215},"language-ini shiki shiki-themes github-light github-dark","# /etc/systemd/system/ваш-сервис.service.d/oom-protect.conf\n[Service]\nOOMScoreAdjust=-1000\n","ini",[38,2941,2942,2947,2952],{"__ignoreMap":215},[219,2943,2944],{"class":221,"line":222},[219,2945,2946],{},"# /etc/systemd/system/ваш-сервис.service.d/oom-protect.conf\n",[219,2948,2949],{"class":221,"line":235},[219,2950,2951],{},"[Service]\n",[219,2953,2954],{"class":221,"line":387},[219,2955,2956],{},"OOMScoreAdjust=-1000\n",[21,2958,2959,2960,45],{},"Затем перезапустите сервис: ",[38,2961,2962],{},"systemctl daemon-reload && systemctl restart ваш-сервис",[21,2964,2965,2968,2969,2972],{},[66,2966,2967],{},"Важно",": Не устанавливайте ",[38,2970,2971],{},"oom_score_adj=-1000"," для всех процессов — это может привести к тому, что OOM Killer не сможет освободить память и система зависнет.",[193,2974,2976],{"id":2975},"шаг-2-использование-cgroups-для-ограничения-памяти","Шаг 2: Использование cgroups для ограничения памяти",[21,2978,2979,2982],{},[66,2980,2981],{},"cgroups (control groups)"," позволяют задать жёсткие лимиты памяти для группы процессов. Это лучший способ для контейнеров и изолированных сервисов.",[21,2984,2985,2988],{},[66,2986,2987],{},"Через systemd"," (современные дистрибутивы):",[211,2990,2992],{"className":213,"code":2991,"language":92,"meta":215,"style":215},"# Запустить команду с лимитом 500 МБ\nsystemd-run --scope -p MemoryMax=500M /путь/к/команде\n\n# Или для существующего сервиса создайте дроп-ин:\n# /etc/systemd/system/ваш-сервис.service.d/limits.conf\n[Service]\nMemoryMax=1G\nMemorySwapMax=2G  # если нужен swap\n",[38,2993,2994,2999,3016,3020,3025,3030,3034,3045],{"__ignoreMap":215},[219,2995,2996],{"class":221,"line":222},[219,2997,2998],{"class":371},"# Запустить команду с лимитом 500 МБ\n",[219,3000,3001,3004,3007,3010,3013],{"class":221,"line":235},[219,3002,3003],{"class":225},"systemd-run",[219,3005,3006],{"class":443}," --scope",[219,3008,3009],{"class":443}," -p",[219,3011,3012],{"class":228}," MemoryMax=500M",[219,3014,3015],{"class":228}," /путь/к/команде\n",[219,3017,3018],{"class":221,"line":387},[219,3019,391],{"emptyLinePlaceholder":390},[219,3021,3022],{"class":221,"line":394},[219,3023,3024],{"class":371},"# Или для существующего сервиса создайте дроп-ин:\n",[219,3026,3027],{"class":221,"line":400},[219,3028,3029],{"class":371},"# /etc/systemd/system/ваш-сервис.service.d/limits.conf\n",[219,3031,3032],{"class":221,"line":415},[219,3033,2951],{"class":2745},[219,3035,3036,3039,3042],{"class":221,"line":1063},[219,3037,3038],{"class":2745},"MemoryMax",[219,3040,3041],{"class":1350},"=",[219,3043,3044],{"class":228},"1G\n",[219,3046,3047,3050,3052,3055],{"class":221,"line":1069},[219,3048,3049],{"class":2745},"MemorySwapMax",[219,3051,3041],{"class":1350},[219,3053,3054],{"class":228},"2G",[219,3056,3057],{"class":371},"  # если нужен swap\n",[21,3059,3060,2608],{},[66,3061,3062],{},"Вручную через cgroup v2",[211,3064,3066],{"className":213,"code":3065,"language":92,"meta":215,"style":215},"# Создайте cgroup\nsudo mkdir /sys/fs/cgroup/mylimit\n# Установите лимит 1 ГБ\necho $((1*1024*1024*1024)) | sudo tee /sys/fs/cgroup/mylimit/memory.max\n# Запустите процесс в этой группе\nsudo echo $$ > /sys/fs/cgroup/mylimit/cgroup.procs && /путь/к/вашему/приложению\n",[38,3067,3068,3073,3083,3088,3113,3118],{"__ignoreMap":215},[219,3069,3070],{"class":221,"line":222},[219,3071,3072],{"class":371},"# Создайте cgroup\n",[219,3074,3075,3077,3080],{"class":221,"line":235},[219,3076,68],{"class":225},[219,3078,3079],{"class":228}," mkdir",[219,3081,3082],{"class":228}," /sys/fs/cgroup/mylimit\n",[219,3084,3085],{"class":221,"line":387},[219,3086,3087],{"class":371},"# Установите лимит 1 ГБ\n",[219,3089,3090,3092,3095,3098,3101,3104,3107,3110],{"class":221,"line":394},[219,3091,2905],{"class":443},[219,3093,3094],{"class":2745}," $((",[219,3096,3097],{"class":225},"1*1024*1024*1024",[219,3099,3100],{"class":2745},")) ",[219,3102,3103],{"class":1350},"|",[219,3105,3106],{"class":225}," sudo",[219,3108,3109],{"class":228}," tee",[219,3111,3112],{"class":228}," /sys/fs/cgroup/mylimit/memory.max\n",[219,3114,3115],{"class":221,"line":400},[219,3116,3117],{"class":371},"# Запустите процесс в этой группе\n",[219,3119,3120,3122,3125,3128,3130,3133,3136],{"class":221,"line":415},[219,3121,68],{"class":225},[219,3123,3124],{"class":228}," echo",[219,3126,3127],{"class":443}," $$",[219,3129,2911],{"class":1350},[219,3131,3132],{"class":228}," /sys/fs/cgroup/mylimit/cgroup.procs",[219,3134,3135],{"class":2745}," && ",[219,3137,3138],{"class":225},"/путь/к/вашему/приложению\n",[193,3140,3142],{"id":3141},"шаг-3-настройка-параметров-ядра","Шаг 3: Настройка параметров ядра",[21,3144,3145],{},"Изменение поведения OOM Killer на уровне ядра.",[21,3147,3148,3151,3152,3155],{},[66,3149,3150],{},"Вариант A: Запретить переcommit памяти"," (строгий контроль):\nВ ",[38,3153,3154],{},"/etc/sysctl.conf"," добавьте:",[211,3157,3161],{"className":3158,"code":3159,"language":3160,"meta":215,"style":215},"language-conf shiki shiki-themes github-light github-dark","vm.overcommit_memory = 2\nvm.overcommit_ratio = 100  # разрешить commit только до 100% RAM+swap\n","conf",[38,3162,3163,3168],{"__ignoreMap":215},[219,3164,3165],{"class":221,"line":222},[219,3166,3167],{},"vm.overcommit_memory = 2\n",[219,3169,3170],{"class":221,"line":235},[219,3171,3172],{},"vm.overcommit_ratio = 100  # разрешить commit только до 100% RAM+swap\n",[21,3174,3175,3176,3179,3180,3183],{},"Примените: ",[38,3177,3178],{},"sudo sysctl -p",". Это предотвратит выделение памяти, которой физически нет, но может вызвать ошибки ",[38,3181,3182],{},"fork: Cannot allocate memory"," у приложений.",[21,3185,3186,3189],{},[66,3187,3188],{},"Вариант B: Режим паники вместо убийства"," (для отладки):",[211,3191,3193],{"className":3158,"code":3192,"language":3160,"meta":215,"style":215},"vm.panic_on_oom = 2\n",[38,3194,3195],{"__ignoreMap":215},[219,3196,3197],{"class":221,"line":222},[219,3198,3192],{},[21,3200,3201],{},"При нехватке памяти система упадёт в kernel panic, что полезно для сбора дампов, но неприемлемо для продакшена.",[21,3203,3204,3207],{},[66,3205,3206],{},"Вариант C: Изменить степень агрессивности OOM Killer"," (редко используется):",[211,3209,3211],{"className":3158,"code":3210,"language":3160,"meta":215,"style":215},"vm.oom_kill_allocating_task = 1  # убивать процесс, который выделил память, а не случайный\n",[38,3212,3213],{"__ignoreMap":215},[219,3214,3215],{"class":221,"line":222},[219,3216,3210],{},[193,3218,3220],{"id":3219},"шаг-4-оптимизация-приложения-или-увеличение-ресурсов","Шаг 4: Оптимизация приложения или увеличение ресурсов",[21,3222,3223],{},"Если проблема вызвана утечкой памяти:",[31,3225,3226,3238,3248],{},[34,3227,3228,3229,111,3232,111,3235,45],{},"Используйте профилировщики: ",[38,3230,3231],{},"valgrind --leak-check=full",[38,3233,3234],{},"heaptrack",[38,3236,3237],{},"perf",[34,3239,3240,3241,2675,3244,3247],{},"Для Java-приложений: настройте ",[38,3242,3243],{},"-Xmx",[38,3245,3246],{},"-Xms"," в JVM.",[34,3249,3250,3251,117],{},"Для Python: проверьте на утечки (например, через ",[38,3252,3253],{},"tracemalloc",[21,3255,3256],{},"Если нагрузка обоснована:",[31,3258,3259,3262],{},[34,3260,3261],{},"Увеличьте объём RAM на сервере.",[34,3263,3264,3265],{},"Добавьте swap-файл (временное решение, но не панацея):\n",[211,3266,3268],{"className":213,"code":3267,"language":92,"meta":215,"style":215},"sudo fallocate -l 4G /swapfile\nsudo chmod 600 /swapfile\nsudo mkswap /swapfile\nsudo swapon /swapfile\n",[38,3269,3270,3286,3298,3307],{"__ignoreMap":215},[219,3271,3272,3274,3277,3280,3283],{"class":221,"line":222},[219,3273,68],{"class":225},[219,3275,3276],{"class":228}," fallocate",[219,3278,3279],{"class":443}," -l",[219,3281,3282],{"class":228}," 4G",[219,3284,3285],{"class":228}," /swapfile\n",[219,3287,3288,3290,3293,3296],{"class":221,"line":235},[219,3289,68],{"class":225},[219,3291,3292],{"class":228}," chmod",[219,3294,3295],{"class":443}," 600",[219,3297,3285],{"class":228},[219,3299,3300,3302,3305],{"class":221,"line":387},[219,3301,68],{"class":225},[219,3303,3304],{"class":228}," mkswap",[219,3306,3285],{"class":228},[219,3308,3309,3311,3314],{"class":221,"line":394},[219,3310,68],{"class":225},[219,3312,3313],{"class":228}," swapon",[219,3315,3285],{"class":228},[16,3317,3319],{"id":3318},"профилактика-oom-killer","Профилактика OOM Killer",[60,3321,3322,3346,3387],{},[34,3323,3324,2608,3327],{},[66,3325,3326],{},"Мониторинг памяти",[31,3328,3329,3337,3340],{},[34,3330,1586,3331,1570,3334,45],{},[38,3332,3333],{},"Prometheus + node_exporter",[38,3335,3336],{},"Zabbix",[34,3338,3339],{},"Настройте алерты при использовании RAM > 80%.",[34,3341,3342,3343,45],{},"Пример команды для быстрой проверки: ",[38,3344,3345],{},"awk '/MemAvailable/ {print $2/1024\" GB available\"}' /proc/meminfo",[34,3347,3348,2608,3351],{},[66,3349,3350],{},"Логирование использования памяти",[211,3352,3354],{"className":213,"code":3353,"language":92,"meta":215,"style":215},"# Запись каждые 5 минут в cron\n*/5 * * * * /usr/bin/free -h >> /var/log/memory.log\n",[38,3355,3356,3361],{"__ignoreMap":215},[219,3357,3358],{"class":221,"line":222},[219,3359,3360],{"class":371},"# Запись каждые 5 минут в cron\n",[219,3362,3363,3366,3369,3371,3374,3376,3378,3381,3384],{"class":221,"line":235},[219,3364,3365],{"class":1350},"*",[219,3367,3368],{"class":2745},"/5 ",[219,3370,3365],{"class":1350},[219,3372,3373],{"class":1350}," *",[219,3375,3373],{"class":1350},[219,3377,3373],{"class":1350},[219,3379,3380],{"class":2745}," /usr/bin/free -h ",[219,3382,3383],{"class":1350},">>",[219,3385,3386],{"class":2745}," /var/log/memory.log\n",[34,3388,3389,2608,3392],{},[66,3390,3391],{},"Регулярный аудит процессов",[31,3393,3394,3399],{},[34,3395,3396,3397,45],{},"Ищите процессы с аномально высоким ",[38,3398,2575],{},[34,3400,3401],{},"Проверяйте контейнеры на соответствие лимитам.",[16,3403,3405],{"id":3404},"особенности-в-контейнерах-dockerkubernetes","Особенности в контейнерах (Docker/Kubernetes)",[21,3407,3408],{},"В контейнерах OOM Killer работает внутри изоляции cgroups, но если контейнер исчерпает свой лимит, ядро убьёт процесс внутри него.",[21,3410,3411,2608],{},[66,3412,3413],{},"Docker",[211,3415,3417],{"className":213,"code":3416,"language":92,"meta":215,"style":215},"# Запуск с лимитом 512 МБ RAM и 1 ГБ swap\ndocker run -d --memory=512m --memory-swap=1g ваш-образ\n\n# Проверка лимитов\ndocker stats\n",[38,3418,3419,3424,3444,3448,3453],{"__ignoreMap":215},[219,3420,3421],{"class":221,"line":222},[219,3422,3423],{"class":371},"# Запуск с лимитом 512 МБ RAM и 1 ГБ swap\n",[219,3425,3426,3429,3432,3435,3438,3441],{"class":221,"line":235},[219,3427,3428],{"class":225},"docker",[219,3430,3431],{"class":228}," run",[219,3433,3434],{"class":443}," -d",[219,3436,3437],{"class":443}," --memory=512m",[219,3439,3440],{"class":443}," --memory-swap=1g",[219,3442,3443],{"class":228}," ваш-образ\n",[219,3445,3446],{"class":221,"line":387},[219,3447,391],{"emptyLinePlaceholder":390},[219,3449,3450],{"class":221,"line":394},[219,3451,3452],{"class":371},"# Проверка лимитов\n",[219,3454,3455,3457],{"class":221,"line":400},[219,3456,3428],{"class":225},[219,3458,3459],{"class":228}," stats\n",[21,3461,3462,2608],{},[66,3463,3464],{},"Kubernetes",[211,3466,3470],{"className":3467,"code":3468,"language":3469,"meta":215,"style":215},"language-yaml shiki shiki-themes github-light github-dark","resources:\n  limits:\n    memory: \"512Mi\"\n    cpu: \"500m\"\n  requests:\n    memory: \"256Mi\"\n","yaml",[38,3471,3472,3481,3488,3499,3509,3516],{"__ignoreMap":215},[219,3473,3474,3478],{"class":221,"line":222},[219,3475,3477],{"class":3476},"s9eBZ","resources",[219,3479,3480],{"class":2745},":\n",[219,3482,3483,3486],{"class":221,"line":235},[219,3484,3485],{"class":3476},"  limits",[219,3487,3480],{"class":2745},[219,3489,3490,3493,3496],{"class":221,"line":387},[219,3491,3492],{"class":3476},"    memory",[219,3494,3495],{"class":2745},": ",[219,3497,3498],{"class":228},"\"512Mi\"\n",[219,3500,3501,3504,3506],{"class":221,"line":394},[219,3502,3503],{"class":3476},"    cpu",[219,3505,3495],{"class":2745},[219,3507,3508],{"class":228},"\"500m\"\n",[219,3510,3511,3514],{"class":221,"line":400},[219,3512,3513],{"class":3476},"  requests",[219,3515,3480],{"class":2745},[219,3517,3518,3520,3522],{"class":221,"line":415},[219,3519,3492],{"class":3476},[219,3521,3495],{"class":2745},[219,3523,3524],{"class":228},"\"256Mi\"\n",[21,3526,3527,3528,2675,3531,3534],{},"Убедитесь, что ",[38,3529,3530],{},"requests",[38,3532,3533],{},"limits"," установлены адекватно. При превышении лимита поды будет убит (OOMKilled).",[16,3536,3538],{"id":3537},"частые-ошибки-при-настройке","Частые ошибки при настройке",[31,3540,3541,3549,3555,3565],{},[34,3542,3543,3548],{},[66,3544,3545,3546],{},"Защита всех процессов через ",[38,3547,2971],{},": Это отключает OOM Killer полностью, что может привести к полной блокировке системы при нехватке памяти.",[34,3550,3551,3554],{},[66,3552,3553],{},"Установка слишком высоких лимитов cgroups",": Если лимит выше, чем физическая RAM, OOM Killer всё равно сработает на уровне хоста.",[34,3556,3557,3560,3561,3564],{},[66,3558,3559],{},"Игнорирование swap",": Swap замедляет систему, но может дать время на реакцию. Полный отказ от swap (",[38,3562,3563],{},"swapoff -a",") ускорит срабатывание OOM Killer.",[34,3566,3567,3570,3571,3573,3574,3577,3578,3580],{},[66,3568,3569],{},"Неправильное толкование логов",": Сообщение ",[38,3572,2564],{}," может быть и от ручного ",[38,3575,3576],{},"kill -9",". Всегда проверяйте ",[38,3579,2618],{}," и код выхода процесса (137 = SIGKILL, часто от OOM).",[16,3582,3584],{"id":3583},"что-дальше","Что дальше?",[21,3586,3587],{},"После применения мер проверьте:",[60,3589,3590,3597,3600],{},[34,3591,3592,3593,3596],{},"Стабильность работы под нагрузкой (тесты с ",[38,3594,3595],{},"stress-ng"," или реальной нагрузкой).",[34,3598,3599],{},"Логи на отсутствие новых записей OOM Killer.",[34,3601,3602],{},"Корректность работы защищённых процессов (не потребляют ли они слишком много памяти в ущерб другим).",[21,3604,3605],{},"Если проблема остаётся, рассмотрите архитектурные изменения: шардирование, кэширование, использование более эффективных алгоритмов обработки данных.",[21,3607,3608,3611],{},[66,3609,3610],{},"Запомните",": OOM Killer — это последний рубеж защиты системы. Лучшая стратегия — не допускать ситуаций, когда он срабатывает, через мониторинг и грамотное планирование ресурсов.",[1406,3613,3614],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}",{"title":215,"searchDepth":235,"depth":235,"links":3616},[3617,3618,3619,3620,3627,3628,3629,3630],{"id":2534,"depth":235,"text":2535},{"id":2568,"depth":235,"text":2569},{"id":2596,"depth":235,"text":2597},{"id":2860,"depth":235,"text":2861,"children":3621},[3622,3624,3625,3626],{"id":2864,"depth":387,"text":3623},"Шаг 1: Настройка oom_score_adj для защиты ключевых процессов",{"id":2975,"depth":387,"text":2976},{"id":3141,"depth":387,"text":3142},{"id":3219,"depth":387,"text":3220},{"id":3318,"depth":235,"text":3319},{"id":3404,"depth":235,"text":3405},{"id":3537,"depth":235,"text":3538},{"id":3583,"depth":235,"text":3584},"2026-02-14 11:52:27","Подробное руководство по работе OOM Killer в Linux. Узнайте, как анализировать логи, настроить параметры ядра и предотвратить завершение процессов из-за нехватки памяти. Пошаговые инструкции для администраторов.",[3634,3637,3640,3643],{"answer":3635,"question":3636},"OOM Killer работает на основе очков (`oom_score`), которые вычисляются исходя из использования памяти и других факторов. Если процесс потребляет много RAM, даже будучи системным, он может быть убит. Настройка `oom_score_adj` помогает защитить критические процессы.","Почему OOM Killer убивает важные системные процессы?",{"answer":3638,"question":3639},"Можно установить `vm.panic_on_oom=2` в `/etc/sysctl.conf` и применить `sysctl -p`. При нехватке памяти система вместо убийства процессов упадёт в панику (kernel panic), что полезно для отладки, но не для продакшена.","Как временно отключить OOM Killer?",{"answer":3641,"question":3642},"Для процесса с PID `\u003CPID>` запишите отрицательное значение (например, `-1000`) в `/proc/\u003CPID>/oom_score_adj`. Это значительно снизит его `oom_score` и вероятность убийства. Для постоянной защиты настройте через systemd или скрипт.","Как защитить конкретный процесс от OOM Killer?",{"answer":3644,"question":3645},"Да, но контейнеры изолированы через cgroups. OOM Killer убивает процессы внутри контейнера, если контейнер исчерпал свой лимит памяти. Настройте `--memory` и `--memory-swap` при запуске контейнера, а также `oom_score_adj` внутри него.","OOM Killer работает внутри Docker-контейнеров?",[3647,3650,3653,3656,3659,3662],{"name":3648,"text":3649},"Анализ логов ядра на наличие записей OOM Killer","Используйте команду `dmesg | grep -i kill` или просмотрите `/var/log/syslog` на наличие строк с \\Out of memory\\ и \\Killed process\\. Запишите имя процесса и его PID.",{"name":3651,"text":3652},"Проверка текущего использования памяти","Выполните `free -h` для общего обзора памяти и swap. Используйте `top` или `htop` для сортировки процессов по использованию RAM (клавиша `M` в htop).",{"name":3654,"text":3655},"Настройка oom_score_adj для защиты процесса","Для процесса с PID `\u003CPID>` выполните `echo -1000 > /proc/\u003CPID>/oom_score_adj`. Это значение от -1000 до +1000, где -1000 максимально защищает процесс. Для перманентной настройки используйте systemd-юнит с `OOMScoreAdjust=-1000`.",{"name":3657,"text":3658},"Использование cgroups для ограничения памяти","Создайте cgroup через systemd: `systemd-run --scope -p MemoryMax=500M ваша_команда`. Или вручную: `mkdir /sys/fs/cgroup/mylimit && echo 500M > /sys/fs/cgroup/mylimit/memory.max` и запустите процесс в этой группе.",{"name":3660,"text":3661},"Настройка параметров ядра","Отредактируйте `/etc/sysctl.conf` и добавьте строки: `vm.panic_on_oom=2` (паника вместо убийства) или `vm.overcommit_memory=2` (запрет переcommit'а памяти). Примените `sysctl -p`.",{"name":3663,"text":3664},"Оптимизация приложения или увеличение RAM","Если проблема хроническая, проанализируйте утечки памяти в приложении (например, через `valgrind`). На сервере без возможности оптимизации рассмотрите апгрейд оперативной памяти.","PT30M",[3667,3668,3669,3670,2868,3671,3672,3673,3674,3675],"oom killer linux","killed process linux","нехватка памяти linux","как отключить oom killer","linux out of memory","убийство процессов ядром","cgroups memory limit","dmesg oom killer","vm.overcommit_memory",{},[3678,3679,3680],"/errors/linux/out-of-memory","/guides/linux/monitor-memory-usage","/guides/linux/systemd-cgroups","Ошибки Linux",{"title":2525,"description":3632},"high","errors/linux/oom-killer","Этот гайд объясняет механизм OOM Killer в Linux и предоставляет практические шаги по диагностике и предотвращению завершения процессов из-за нехватки памяти. Вы научитесь анализировать логи, настраивать приоритеты процессов и управлять памятью с помощью cgroups.",[3687,3688,3689,2521,3690,3691],"linux errors","oom killer","memory management","kernel","cgroups","yLKZsBBOdw0WxB2klhnj1kgSj9b0cNfsSTCuvycB6Aw"]