[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/memory-usage-monitoring":3,"mdc--ibgmfu-key":827,"mdc--3fcfhs-key":845,"mdc-tmwenb-key":853,"mdc--xggw97-key":903,"mdc-xj42a3-key":932,"mdc--o7cl39-key":948,"mdc--is4b32-key":978,"mdc-k2k7c5-key":994,"mdc--4ugafp-key":1010,"related-/guides/linux/disk-usage-monitoring,/guides/linux/process-monitoring,/errors/linux/out-of-memory-error":1032},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":763,"code":763,"createdAt":764,"description":765,"difficulty":766,"draft":767,"estimatedTime":768,"extension":769,"faq":770,"howToSteps":783,"howToTotalTime":799,"image":763,"keywords":800,"locale":810,"meta":811,"navigation":268,"path":812,"platform":813,"related":814,"section":818,"seo":819,"severity":763,"stem":820,"summary":821,"tags":822,"twitterCreator":763,"twitterSite":763,"type":825,"updatedAt":764,"__hash__":826},"content_ru/guides/linux/memory-usage-monitoring.md","Мониторинг использования памяти в Linux: полное руководство",[7,8,9,10],"Ubuntu 20.04+","CentOS 7+","Debian 10+","Fedora 35+","FixPedia Team",{"type":13,"value":14,"toc":740},"minimark",[15,20,24,28,31,83,87,93,114,121,129,132,158,162,171,176,179,188,216,220,225,292,308,312,317,329,332,338,341,353,364,368,374,387,390,396,399,419,426,443,446,450,458,462,502,513,517,522,565,574,578,581,625,640,644,648,657,661,682,686,706,710,725,729,736],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Постоянный мониторинг использования оперативной памяти (RAM) — критически важная задача для администраторов Linux и разработчиков, развертывающих приложения. Неконтролируемое потребление памяти может привести к замедлению системы, активному использованию swap-раздела и в худшем случае — к краху процессов (OOM Killer). Этот гайд поможет вам освоить набор встроенных и сторонних инструментов для быстрой оценки состояния памяти, выявления \"прожорливых\" процессов и принятия обоснованных решений по оптимизации.",[16,25,27],{"id":26},"требования-подготовка","Требования / Подготовка",[21,29,30],{},"Перед началом убедитесь, что:",[32,33,34,38,41,59],"ul",{},[35,36,37],"li",{},"У вас есть доступ к терминалу Linux (через SSH или локально).",[35,39,40],{},"Вы обладаете правами для выполнения команд (обычно достаточно обычного пользователя, но для установки дополнительных пакетов потребуются права sudo).",[35,42,43,44,48,49,48,52,48,55,58],{},"Большинство инструментов (",[45,46,47],"code",{},"free",", ",[45,50,51],{},"top",[45,53,54],{},"vmstat",[45,56,57],{},"/proc/meminfo",") уже предустановлены в любом дистрибутиве Linux.",[35,60,61,62,48,65,68,69,72,73,48,76,48,79,82],{},"Для установки ",[45,63,64],{},"htop",[45,66,67],{},"nmon"," или ",[45,70,71],{},"glances"," потребуется менеджер пакетов (",[45,74,75],{},"apt",[45,77,78],{},"yum",[45,80,81],{},"dnf",").",[16,84,86],{"id":85},"шаг-1-использование-команды-free","Шаг 1: Использование команды free",[21,88,89,90,92],{},"Команда ",[45,91,47],{}," — самый быстрый способ получить сводную картину по оперативной памяти и swap-разделу.",[94,95,100],"pre",{"className":96,"code":97,"language":98,"meta":99,"style":99},"language-bash shiki shiki-themes github-light github-dark","free -h\n","bash","",[45,101,102],{"__ignoreMap":99},[103,104,107,110],"span",{"class":105,"line":106},"line",1,[103,108,47],{"class":109},"sScJk",[103,111,113],{"class":112},"sj4cs"," -h\n",[21,115,116,117,120],{},"Ключ ",[45,118,119],{},"-h"," (human-readable) выводит значения в удобных единицах (МБ, ГБ). Пример вывода:",[94,122,127],{"className":123,"code":125,"language":126},[124],"language-text","              total        used        free      shared  buff/cache   available\nMem:           7.7G        2.1G        3.2G        156M        2.4G        5.1G\nSwap:          2.0G          0B        2.0G\n","text",[45,128,125],{"__ignoreMap":99},[21,130,131],{},"Обратите внимание на столбцы:",[32,133,134,141,146,152],{},[35,135,136,140],{},[137,138,139],"strong",{},"used",": память, используемая процессами (без учета кэшей).",[35,142,143,145],{},[137,144,47],{},": полностью неиспользуемая память.",[35,147,148,151],{},[137,149,150],{},"buff/cache",": память, занятая буферизацией и кэшированием (ядро может освободить её при необходимости).",[35,153,154,157],{},[137,155,156],{},"available",": оценка памяти, доступной для запуска новых процессов без swap. Это самый важный показатель.",[16,159,161],{"id":160},"шаг-2-интерактивный-мониторинг-с-top-и-htop","Шаг 2: Интерактивный мониторинг с top и htop",[21,163,164,165,167,168,170],{},"Для наблюдения за динамикой и выявления процессов, потребляющих много памяти, используйте ",[45,166,51],{}," или более удобную альтернативу ",[45,169,64],{},".",[172,173,175],"h3",{"id":174},"использование-top","Использование top",[21,177,178],{},"Запустите:",[94,180,182],{"className":96,"code":181,"language":98,"meta":99,"style":99},"top\n",[45,183,184],{"__ignoreMap":99},[103,185,186],{"class":105,"line":106},[103,187,181],{"class":109},[21,189,190,191,193,194,197,198,201,202,197,205,208,209,212,213,170],{},"По умолчанию ",[45,192,51],{}," сортирует по загрузке CPU. Чтобы сортировать по памяти, нажмите ",[45,195,196],{},"F"," (или ",[45,199,200],{},"f","), затем выберите столбец ",[45,203,204],{},"%MEM",[45,206,207],{},"RES"," для физической памяти) и нажмите ",[45,210,211],{},"s"," для сохранения. Для выхода нажмите ",[45,214,215],{},"q",[172,217,219],{"id":218},"установка-и-использование-htop","Установка и использование htop",[21,221,222,224],{},[45,223,64],{}," предоставляет цветное интерфейс с удобным управлением:",[94,226,228],{"className":96,"code":227,"language":98,"meta":99,"style":99},"# Для Ubuntu/Debian:\nsudo apt update && sudo apt install htop\n\n# Для CentOS/RHEL/Fedora:\nsudo yum install htop   # или sudo dnf install htop\n",[45,229,230,236,263,270,276],{"__ignoreMap":99},[103,231,232],{"class":105,"line":106},[103,233,235],{"class":234},"sJ8bj","# Для Ubuntu/Debian:\n",[103,237,239,242,246,249,253,255,257,260],{"class":105,"line":238},2,[103,240,241],{"class":109},"sudo",[103,243,245],{"class":244},"sZZnC"," apt",[103,247,248],{"class":244}," update",[103,250,252],{"class":251},"sVt8B"," && ",[103,254,241],{"class":109},[103,256,245],{"class":244},[103,258,259],{"class":244}," install",[103,261,262],{"class":244}," htop\n",[103,264,266],{"class":105,"line":265},3,[103,267,269],{"emptyLinePlaceholder":268},true,"\n",[103,271,273],{"class":105,"line":272},4,[103,274,275],{"class":234},"# Для CentOS/RHEL/Fedora:\n",[103,277,279,281,284,286,289],{"class":105,"line":278},5,[103,280,241],{"class":109},[103,282,283],{"class":244}," yum",[103,285,259],{"class":244},[103,287,288],{"class":244}," htop",[103,290,291],{"class":234},"   # или sudo dnf install htop\n",[21,293,294,295,297,298,301,302,68,305,307],{},"Запустите ",[45,296,64],{},". Память отображается в виде цветных полос вверху (синий — used, зеленый — buff/cache). Для сортировки по памяти нажмите ",[45,299,300],{},"F6"," и выберите ",[45,303,304],{},"PERCENT_CPU",[45,306,207],{},", или просто кликните на заголовок столбца (если мышь поддерживается). Процессы, которые используют больше всего памяти, будут наверху.",[16,309,311],{"id":310},"шаг-3-статистика-виртуальной-памяти-с-vmstat","Шаг 3: Статистика виртуальной памяти с vmstat",[21,313,314,316],{},[45,315,54],{}," дает общую статистику по системе, включая память, swap и операции ввода-вывода.",[94,318,320],{"className":96,"code":319,"language":98,"meta":99,"style":99},"vmstat -s\n",[45,321,322],{"__ignoreMap":99},[103,323,324,326],{"class":105,"line":106},[103,325,54],{"class":109},[103,327,328],{"class":112}," -s\n",[21,330,331],{},"Вывод покажет детализированные цифры, например:",[94,333,336],{"className":334,"code":335,"language":126},[124],"  8192000 K total memory\n  2150400 K used memory\n  3901440 K active memory\n  1324544 K inactive memory\n  3176448 K free memory\n   123456 K buffer memory\n  2048000 K swap cache\n  2097152 K total swap\n        0 K used swap\n  2097152 K free swap\n",[45,337,335],{"__ignoreMap":99},[21,339,340],{},"Для непрерывного мониторинга с интервалом в 2 секунды:",[94,342,344],{"className":96,"code":343,"language":98,"meta":99,"style":99},"vmstat 2\n",[45,345,346],{"__ignoreMap":99},[103,347,348,350],{"class":105,"line":106},[103,349,54],{"class":109},[103,351,352],{"class":112}," 2\n",[21,354,355,356,359,360,363],{},"Обращайте внимание на столбцы ",[45,357,358],{},"si"," (swap in) и ",[45,361,362],{},"so"," (swap out). Если они постоянно отличны от нуля, это признак нехватки оперативной памяти.",[16,365,367],{"id":366},"шаг-4-детальная-информация-из-procmeminfo","Шаг 4: Детальная информация из /proc/meminfo",[21,369,370,371,373],{},"Файл ",[45,372,57],{}," содержит наиболее подробные и низкоуровневые данные о памяти. Это текстовый файл, который можно читать напрямую:",[94,375,377],{"className":96,"code":376,"language":98,"meta":99,"style":99},"cat /proc/meminfo\n",[45,378,379],{"__ignoreMap":99},[103,380,381,384],{"class":105,"line":106},[103,382,383],{"class":109},"cat",[103,385,386],{"class":244}," /proc/meminfo\n",[21,388,389],{},"Пример вывода (сокращен):",[94,391,394],{"className":392,"code":393,"language":126},[124],"MemTotal:        8192000 kB\nMemFree:         3176448 kB\nMemAvailable:    5100000 kB\nBuffers:         123456 kB\nCached:          2048000 kB\nSwapCached:            0 kB\nActive:          3901440 kB\nInactive:        1324544 kB\nSwapTotal:      2097152 kB\nSwapFree:       2097152 kB\n",[45,395,393],{"__ignoreMap":99},[21,397,398],{},"Здесь:",[32,400,401,407,413],{},[35,402,403,406],{},[137,404,405],{},"MemAvailable"," — наиболее точная оценка доступной памяти (учитывает кэши и буферы, которые можно быстро освободить).",[35,408,409,412],{},[137,410,411],{},"Cached"," — память, используемая кэшем страниц (для ускорения чтения диска).",[35,414,415,418],{},[137,416,417],{},"Buffers"," — память для буферизации блочных устройств (например, дисков).",[21,420,421,422,425],{},"Для фильтрации конкретных полей можно использовать ",[45,423,424],{},"grep",":",[94,427,429],{"className":96,"code":428,"language":98,"meta":99,"style":99},"grep -E 'MemTotal|MemFree|MemAvailable|Buffers|Cached' /proc/meminfo\n",[45,430,431],{"__ignoreMap":99},[103,432,433,435,438,441],{"class":105,"line":106},[103,434,424],{"class":109},[103,436,437],{"class":112}," -E",[103,439,440],{"class":244}," 'MemTotal|MemFree|MemAvailable|Buffers|Cached'",[103,442,386],{"class":244},[444,445],"in-article-ad",{},[16,447,449],{"id":448},"шаг-5-расширенные-утилиты-nmon-и-glances","Шаг 5: Расширенные утилиты nmon и glances",[21,451,452,453,455,456,170],{},"Для комплексного мониторинга системы, включая память, CPU, диски и сеть, удобны утилиты ",[45,454,67],{}," и ",[45,457,71],{},[172,459,461],{"id":460},"установка-nmon","Установка nmon",[94,463,465],{"className":96,"code":464,"language":98,"meta":99,"style":99},"# Ubuntu/Debian:\nsudo apt install nmon\n\n# CentOS/RHEL:\nsudo yum install nmon\n",[45,466,467,472,483,487,492],{"__ignoreMap":99},[103,468,469],{"class":105,"line":106},[103,470,471],{"class":234},"# Ubuntu/Debian:\n",[103,473,474,476,478,480],{"class":105,"line":238},[103,475,241],{"class":109},[103,477,245],{"class":244},[103,479,259],{"class":244},[103,481,482],{"class":244}," nmon\n",[103,484,485],{"class":105,"line":265},[103,486,269],{"emptyLinePlaceholder":268},[103,488,489],{"class":105,"line":272},[103,490,491],{"class":234},"# CentOS/RHEL:\n",[103,493,494,496,498,500],{"class":105,"line":278},[103,495,241],{"class":109},[103,497,283],{"class":244},[103,499,259],{"class":244},[103,501,482],{"class":244},[21,503,294,504,506,507,510,511,170],{},[45,505,67],{},". Нажмите ",[45,508,509],{},"m"," для переключения на экран памяти. Там вы увидите подробную разбивку по типам памяти, а также графики в реальном времени. Для выхода нажмите ",[45,512,215],{},[172,514,516],{"id":515},"установка-glances","Установка glances",[21,518,519,521],{},[45,520,71],{}," — кросс-платформенный мониторинг в текстовом режиме с возможностью веб-интерфейса.",[94,523,525],{"className":96,"code":524,"language":98,"meta":99,"style":99},"# Установка через pip (рекомендуется):\npip3 install glances\n\n# Или через менеджер пакетов (может быть устаревшая версия):\nsudo apt install glances   # Ubuntu/Debian\n",[45,526,527,532,542,546,551],{"__ignoreMap":99},[103,528,529],{"class":105,"line":106},[103,530,531],{"class":234},"# Установка через pip (рекомендуется):\n",[103,533,534,537,539],{"class":105,"line":238},[103,535,536],{"class":109},"pip3",[103,538,259],{"class":244},[103,540,541],{"class":244}," glances\n",[103,543,544],{"class":105,"line":265},[103,545,269],{"emptyLinePlaceholder":268},[103,547,548],{"class":105,"line":272},[103,549,550],{"class":234},"# Или через менеджер пакетов (может быть устаревшая версия):\n",[103,552,553,555,557,559,562],{"class":105,"line":278},[103,554,241],{"class":109},[103,556,245],{"class":244},[103,558,259],{"class":244},[103,560,561],{"class":244}," glances",[103,563,564],{"class":234},"   # Ubuntu/Debian\n",[21,566,294,567,569,570,573],{},[45,568,71],{},". По умолчанию отображаются все метрики, включая память (вверху слева). Нажмите ",[45,571,572],{},"h"," для справки по управлению.",[16,575,577],{"id":576},"проверка-результата","Проверка результата",[21,579,580],{},"После выполнения шагов вы должны:",[582,583,584,598,607,618],"ol",{},[35,585,586,587,68,590,592,593,197,595,597],{},"Увидеть в выводе ",[45,588,589],{},"free -h",[45,591,57],{}," актуальные значения памяти. Поле ",[45,594,156],{},[45,596,405],{},") должно быть разумным (не близким к нулю).",[35,599,600,601,603,604,606],{},"В ",[45,602,51],{},"/",[45,605,64],{}," убедиться, что нет процессов, постоянно потребляющих больше памяти, чем ожидалось.",[35,608,609,610,612,613,455,615,617],{},"При использовании ",[45,611,54],{}," проверить, что ",[45,614,358],{},[45,616,362],{}," близки к нулю (если swap активен постоянно — это тревожный знак).",[35,619,600,620,603,622,624],{},[45,621,67],{},[45,623,71],{}," оценить общую картину и тенденции.",[21,626,627,628,630,631,603,633,635,636,48,638,82],{},"Если память заканчивается, вы увидите рост ",[45,629,139],{}," и падение ",[45,632,47],{},[45,634,156],{},", а также увеличение активности swap (",[45,637,358],{},[45,639,362],{},[16,641,643],{"id":642},"возможные-проблемы","Возможные проблемы",[172,645,647],{"id":646},"_1-ошибка-command-not-found-для-htopnmonglances","1. Ошибка \"command not found\" для htop/nmon/glances",[21,649,650,653,654,656],{},[137,651,652],{},"Решение:"," Установите недостающий пакет через менеджер пакетов вашего дистрибутива (см. шаги выше). Убедитесь, что вы используете ",[45,655,241],{}," для установки.",[172,658,660],{"id":659},"_2-недостаточно-прав-для-просмотра-информации-о-процессах","2. Недостаточно прав для просмотра информации о процессах",[21,662,663,665,666,48,668,48,670,673,674,603,676,678,679,681],{},[137,664,652],{}," Обычно команды ",[45,667,47],{},[45,669,54],{},[45,671,672],{},"cat /proc/meminfo"," доступны всем. Но для просмотра всех процессов в ",[45,675,51],{},[45,677,64],{}," (особенно чужих) может потребоваться запуск с ",[45,680,241],{},". Однако для общего обзора памяти это не обязательно.",[172,683,685],{"id":684},"_3-неправильная-интерпретация-вывода-free-путаница-с-cachedbuffers","3. Неправильная интерпретация вывода free (путаница с cached/buffers)",[21,687,688,690,691,455,693,695,696,698,699,701,702,705],{},[137,689,652],{}," Не ориентируйтесь на ",[45,692,47],{},[45,694,139],{}," в старых версиях ",[45,697,47],{},". Всегда смотрите на ",[45,700,156],{}," (или вычисляйте: ",[45,703,704],{},"free + buffers + cached","). Ядро Linux активно использует свободную память для кэширования, что ускоряет систему, и освободит её при необходимости.",[172,707,709],{"id":708},"_4-высокое-использование-памяти-но-нет-процессов-потребителей","4. Высокое использование памяти, но нет процессов-потребителей",[21,711,712,714,715,717,718,48,721,724],{},[137,713,652],{}," Возможно, память используется ядром (например, для slab-аллокаторов). Проверьте в ",[45,716,57],{}," поля ",[45,719,720],{},"Slab",[45,722,723],{},"KernelStack",". Также может быть утечка в драйвере или модуле ядра. В таком случае поможет перезагрузка или обновление системы.",[172,726,728],{"id":727},"_5-утилиты-показывают-разную-информацию","5. Утилиты показывают разную информацию",[21,730,731,733,734,170],{},[137,732,652],{}," Разные инструменты могут использовать разные единицы измерения (кБ vs. KiB) или по-разному считать кэши. Всегда сверяйтесь с \"истинным источником\" — ",[45,735,57],{},[737,738,739],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .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 .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":99,"searchDepth":238,"depth":238,"links":741},[742,743,744,745,749,750,751,755,756],{"id":18,"depth":238,"text":19},{"id":26,"depth":238,"text":27},{"id":85,"depth":238,"text":86},{"id":160,"depth":238,"text":161,"children":746},[747,748],{"id":174,"depth":265,"text":175},{"id":218,"depth":265,"text":219},{"id":310,"depth":238,"text":311},{"id":366,"depth":238,"text":367},{"id":448,"depth":238,"text":449,"children":752},[753,754],{"id":460,"depth":265,"text":461},{"id":515,"depth":265,"text":516},{"id":576,"depth":238,"text":577},{"id":642,"depth":238,"text":643,"children":757},[758,759,760,761,762],{"id":646,"depth":265,"text":647},{"id":659,"depth":265,"text":660},{"id":684,"depth":265,"text":685},{"id":708,"depth":265,"text":709},{"id":727,"depth":265,"text":728},null,"2026-02-15 00:11:07","Узнайте, как эффективно отслеживать использование оперативной памяти в Linux с помощью встроенных команд и утилит. Пошаговая инструкция для быстрой диагностики и предотвращения проблем.","easy",false,"10-15 мин","md",[771,774,777,780],{"answer":772,"question":773},"Используйте команду `free -h`, которая покажет общую, использованную, свободную и кэшированную память в удобочитаемом формате.","Как быстро узнать, сколько свободной памяти в Linux?",{"answer":775,"question":776},"Cached — это память, используемая кэшем страниц ядра для ускорения доступа к диску. Buffers — это временное хранилище для блочных устройств. Оба типа памяти могут быть освобождены, если процессу потребуется больше RAM.","В чем разница между cached и buffers в выводе free?",{"answer":778,"question":779},"Используйте утилиты `top` или `htop`. В `top` нажмите `f` и выберите `MEM` для сортировки по памяти. `htop` по умолчанию показывает использование памяти цветными полосами.","Как continuously следить за использованием памяти в реальном времени?",{"answer":781,"question":782},"`/proc/meminfo` содержит детальную информацию о памяти, но в сыром виде. Для удобного просмотра используйте `cat /proc/meminfo` или утилиты вроде `smem`, которые показывают память на процесс.","Какая утилита дает наиболее подробную информацию о памяти?",[784,787,790,793,796],{"name":785,"text":786},"Используйте команду free","Выполните `free -h` в терминале, чтобы увидеть общую информацию об использовании оперативной и подкачки.",{"name":788,"text":789},"Мониторьте в реальном времени с top/htop","Запустите `top` или установите `htop` (`sudo apt install htop`), чтобы интерактивно следить за процессами, потребляющими память.",{"name":791,"text":792},"Примените vmstat для статистики","Команда `vmstat -s` покажет сводную статистику по памяти, включая swap и ошибки.",{"name":794,"text":795},"Изучите /proc/meminfo","Откройте файл `cat /proc/meminfo` для получения детальных данных о памяти, включая MemTotal, MemFree, Buffers, Cached и др.",{"name":797,"text":798},"Установите расширенные утилиты (опционально)","Для более продвинутого мониторинга установите `nmon` или `glances`, которые предоставляют графики и детализацию по процессам.","PT15M",[801,802,803,804,805,57,806,807,808,809],"мониторинг памяти linux","как посмотреть память в linux","команда free linux","top команда linux память","vmstat память","htop установка","nmon мониторинг","проверка памяти linux","использование памяти процессом linux","ru_RU",{},"/guides/linux/memory-usage-monitoring","linux",[815,816,817],"/guides/linux/disk-usage-monitoring","/guides/linux/process-monitoring","/errors/linux/out-of-memory-error","Гайды Linux",{"title":5,"description":765},"guides/linux/memory-usage-monitoring","Это руководство познакомит вас с основными и продвинутыми методами мониторинга памяти в Linux. Вы научитесь использовать команды free, top, vmstat и другие, чтобы контролировать потребление ресурсов и оперативно реагировать на нехватку памяти.",[813,823,824,47,51,54,64,67],"memory","мониторинг","guide","DHhACTijZGsBk3k77pxV4kmuYl1H9STa8Am9QCpFUqQ",{"data":828,"body":829},{},{"type":830,"children":831},"root",[832],{"type":833,"tag":21,"props":834,"children":835},"element",{},[836,838,843],{"type":126,"value":837},"Используйте команду ",{"type":833,"tag":45,"props":839,"children":841},{"className":840},[],[842],{"type":126,"value":589},{"type":126,"value":844},", которая покажет общую, использованную, свободную и кэшированную память в удобочитаемом формате.",{"data":846,"body":847},{},{"type":830,"children":848},[849],{"type":833,"tag":21,"props":850,"children":851},{},[852],{"type":126,"value":775},{"data":854,"body":855},{},{"type":830,"children":856},[857],{"type":833,"tag":21,"props":858,"children":859},{},[860,862,867,868,873,875,880,882,887,888,894,896,901],{"type":126,"value":861},"Используйте утилиты ",{"type":833,"tag":45,"props":863,"children":865},{"className":864},[],[866],{"type":126,"value":51},{"type":126,"value":68},{"type":833,"tag":45,"props":869,"children":871},{"className":870},[],[872],{"type":126,"value":64},{"type":126,"value":874},". В ",{"type":833,"tag":45,"props":876,"children":878},{"className":877},[],[879],{"type":126,"value":51},{"type":126,"value":881}," нажмите ",{"type":833,"tag":45,"props":883,"children":885},{"className":884},[],[886],{"type":126,"value":200},{"type":126,"value":301},{"type":833,"tag":45,"props":889,"children":891},{"className":890},[],[892],{"type":126,"value":893},"MEM",{"type":126,"value":895}," для сортировки по памяти. ",{"type":833,"tag":45,"props":897,"children":899},{"className":898},[],[900],{"type":126,"value":64},{"type":126,"value":902}," по умолчанию показывает использование памяти цветными полосами.",{"data":904,"body":905},{},{"type":830,"children":906},[907],{"type":833,"tag":21,"props":908,"children":909},{},[910,915,917,922,924,930],{"type":833,"tag":45,"props":911,"children":913},{"className":912},[],[914],{"type":126,"value":57},{"type":126,"value":916}," содержит детальную информацию о памяти, но в сыром виде. Для удобного просмотра используйте ",{"type":833,"tag":45,"props":918,"children":920},{"className":919},[],[921],{"type":126,"value":672},{"type":126,"value":923}," или утилиты вроде ",{"type":833,"tag":45,"props":925,"children":927},{"className":926},[],[928],{"type":126,"value":929},"smem",{"type":126,"value":931},", которые показывают память на процесс.",{"data":933,"body":934},{},{"type":830,"children":935},[936],{"type":833,"tag":21,"props":937,"children":938},{},[939,941,946],{"type":126,"value":940},"Выполните ",{"type":833,"tag":45,"props":942,"children":944},{"className":943},[],[945],{"type":126,"value":589},{"type":126,"value":947}," в терминале, чтобы увидеть общую информацию об использовании оперативной и подкачки.",{"data":949,"body":950},{},{"type":830,"children":951},[952],{"type":833,"tag":21,"props":953,"children":954},{},[955,956,961,963,968,970,976],{"type":126,"value":294},{"type":833,"tag":45,"props":957,"children":959},{"className":958},[],[960],{"type":126,"value":51},{"type":126,"value":962}," или установите ",{"type":833,"tag":45,"props":964,"children":966},{"className":965},[],[967],{"type":126,"value":64},{"type":126,"value":969}," (",{"type":833,"tag":45,"props":971,"children":973},{"className":972},[],[974],{"type":126,"value":975},"sudo apt install htop",{"type":126,"value":977},"), чтобы интерактивно следить за процессами, потребляющими память.",{"data":979,"body":980},{},{"type":830,"children":981},[982],{"type":833,"tag":21,"props":983,"children":984},{},[985,986,992],{"type":126,"value":89},{"type":833,"tag":45,"props":987,"children":989},{"className":988},[],[990],{"type":126,"value":991},"vmstat -s",{"type":126,"value":993}," покажет сводную статистику по памяти, включая swap и ошибки.",{"data":995,"body":996},{},{"type":830,"children":997},[998],{"type":833,"tag":21,"props":999,"children":1000},{},[1001,1003,1008],{"type":126,"value":1002},"Откройте файл ",{"type":833,"tag":45,"props":1004,"children":1006},{"className":1005},[],[1007],{"type":126,"value":672},{"type":126,"value":1009}," для получения детальных данных о памяти, включая MemTotal, MemFree, Buffers, Cached и др.",{"data":1011,"body":1012},{},{"type":830,"children":1013},[1014],{"type":833,"tag":21,"props":1015,"children":1016},{},[1017,1019,1024,1025,1030],{"type":126,"value":1018},"Для более продвинутого мониторинга установите ",{"type":833,"tag":45,"props":1020,"children":1022},{"className":1021},[],[1023],{"type":126,"value":67},{"type":126,"value":68},{"type":833,"tag":45,"props":1026,"children":1028},{"className":1027},[],[1029],{"type":126,"value":71},{"type":126,"value":1031},", которые предоставляют графики и детализацию по процессам.",[1033,2273,3229],{"id":1034,"title":1035,"appliesTo":1036,"author":11,"body":1039,"canonical":763,"code":763,"createdAt":2215,"description":2216,"difficulty":766,"draft":767,"estimatedTime":2217,"extension":769,"faq":2218,"howToSteps":2231,"howToTotalTime":2247,"image":763,"keywords":2248,"locale":810,"meta":2259,"navigation":268,"path":815,"platform":813,"related":2260,"section":818,"seo":2264,"severity":2265,"stem":2266,"summary":2267,"tags":2268,"twitterCreator":763,"twitterSite":763,"type":825,"updatedAt":2215,"__hash__":2272},"content_ru/guides/linux/disk-usage-monitoring.md","Мониторинг дискового пространства в Linux: полное руководство",[7,9,1037,1038],"CentOS 8+","Any Linux with bash",{"type":13,"value":1040,"toc":2188},[1041,1043,1046,1060,1062,1065,1095,1105,1109,1115,1126,1137,1143,1148,1154,1159,1186,1204,1210,1221,1226,1241,1260,1264,1305,1331,1335,1372,1378,1388,1395,1402,1406,1484,1488,1500,1507,1514,1549,1552,1554,1561,1564,1568,1583,1586,1778,1783,1818,1821,1838,1844,1859,1862,1868,1871,1881,1885,1888,1948,1951,1953,2005,2008,2010,2016,2039,2048,2052,2069,2089,2092,2099,2117,2121,2128,2151,2157,2179,2182,2185],[16,1042,19],{"id":18},[21,1044,1045],{},"Здравствуйте! Если вы администрируете Linux-сервер или даже просто работаете на рабочей станции, вы наверняка сталкивались с ситуацией, когда диск внезапно заполняется. Это приводит к остановке служб, ошибкам записи и даже к полной неработоспособности системы. Регулярный мониторинг дискового пространства — это не просто хорошая практика, а необходимость для стабильности системы.",[21,1047,1048,1049,48,1052,1055,1056,1059],{},"В этом гайде вы узнаете, как с помощью встроенных утилит (",[45,1050,1051],{},"df",[45,1053,1054],{},"du",") и удобного стороннего инструмента (",[45,1057,1058],{},"ncdu",") быстро оценить ситуацию с дисковым пространством, найти \"пожирателей\" места и настроить автоматическое оповещение о критическом заполнении. Все инструкции работают на большинстве современных дистрибутивов.",[16,1061,27],{"id":26},[21,1063,1064],{},"Перед началом убедитесь, что у вас есть:",[582,1066,1067,1073,1079],{},[35,1068,1069,1072],{},[137,1070,1071],{},"Доступ к терминалу"," — локально или через SSH.",[35,1074,1075,1078],{},[137,1076,1077],{},"Базовые навыки работы в командной строке"," — умение вводить команды и читать вывод.",[35,1080,1081,1084,1085,48,1088,1091,1092,1094],{},[137,1082,1083],{},"Права суперпользователя (sudo)"," — для анализа системных директорий (",[45,1086,1087],{},"/var",[45,1089,1090],{},"/usr",") и установки пакетов. Некоторые команды ",[45,1093,1054],{}," без sudo могут выдать ошибку \"Permission denied\".",[1096,1097,1098],"blockquote",{},[21,1099,1100,1101,1104],{},"💡 ",[137,1102,1103],{},"Совет",": Если вы работаете на сервере, всегда тестируйте команды на тестовой директории перед запуском в системных папках.",[16,1106,1108],{"id":1107},"пошаговая-инструкция","Пошаговая инструкция",[172,1110,1112,1113],{"id":1111},"шаг-1-проверка-общего-использования-диска-командой-df","Шаг 1: Проверка общего использования диска командой ",[45,1114,1051],{},[21,1116,89,1117,1121,1122,1125],{},[137,1118,1119],{},[45,1120,1051],{}," (disk free) — ваш первый инструмент. Она показывает свободное и занятое место на всех ",[137,1123,1124],{},"смонтированных"," файловых системах.",[94,1127,1129],{"className":96,"code":1128,"language":98,"meta":99,"style":99},"df -h\n",[45,1130,1131],{"__ignoreMap":99},[103,1132,1133,1135],{"class":105,"line":106},[103,1134,1051],{"class":109},[103,1136,113],{"class":112},[21,1138,1139,1140,1142],{},"Флаг ",[45,1141,119],{}," (human-readable) переводит размеры в килобайты, мегабайты или гигабайты для удобства чтения.",[21,1144,1145],{},[137,1146,1147],{},"Пример вывода:",[94,1149,1152],{"className":1150,"code":1151,"language":126},[124],"Filesystem      Size  Used Avail Use% Mounted on\n/dev/sda1        50G   45G  3.5G  93% /\ntmpfs           1.9G  1.2M  1.9G   1% /dev\n/dev/sdb1       200G   30G  160G  16% /home\n",[45,1153,1151],{"__ignoreMap":99},[21,1155,1156],{},[137,1157,1158],{},"Что смотреть:",[32,1160,1161,1169],{},[35,1162,1163,1168],{},[137,1164,1165],{},[45,1166,1167],{},"Use%"," — процент использования. Значения выше 80% — повод для беспокойства.",[35,1170,1171,1176,1177,1179,1180,48,1182,1185],{},[137,1172,1173],{},[45,1174,1175],{},"Mounted on"," — точка монтирования. Обращайте внимание на корневую (",[45,1178,603],{},") и служебные (",[45,1181,1087],{},[45,1183,1184],{},"/tmp",") файловые системы.",[1096,1187,1188],{},[21,1189,1190,1191,1194,1195,1197,1198,1201,1202,170],{},"⚠️ ",[137,1192,1193],{},"Важно",": ",[45,1196,1051],{}," показывает использование ",[137,1199,1200],{},"всего"," раздела, включая системные файлы, кэши и т.д. Чтобы понять, что именно занимает место внутри раздела, переходите к ",[45,1203,1054],{},[172,1205,1207,1208],{"id":1206},"шаг-2-анализ-использования-конкретных-директорий-с-помощью-du","Шаг 2: Анализ использования конкретных директорий с помощью ",[45,1209,1054],{},[21,1211,89,1212,1216,1217,1220],{},[137,1213,1214],{},[45,1215,1054],{}," (disk usage) оценивает размер ",[137,1218,1219],{},"файлов и директорий"," в текущей или указанной файловой системе.",[1222,1223,1225],"h4",{"id":1224},"базовый-пример","Базовый пример:",[94,1227,1229],{"className":96,"code":1228,"language":98,"meta":99,"style":99},"du -sh /var\n",[45,1230,1231],{"__ignoreMap":99},[103,1232,1233,1235,1238],{"class":105,"line":106},[103,1234,1054],{"class":109},[103,1236,1237],{"class":112}," -sh",[103,1239,1240],{"class":244}," /var\n",[32,1242,1243,1249,1254],{},[35,1244,1245,1248],{},[45,1246,1247],{},"-s"," (summarize) — показать только итоговый размер, а не для каждого подкаталога.",[35,1250,1251,1253],{},[45,1252,119],{}," — человекочитаемый формат.",[35,1255,1256,1257],{},"Результат: ",[45,1258,1259],{},"4.2G    /var",[1222,1261,1263],{"id":1262},"поиск-самых-больших-папок-в-текущей-директории","Поиск самых больших папок в текущей директории:",[94,1265,1267],{"className":96,"code":1266,"language":98,"meta":99,"style":99},"du -sh * 2>/dev/null | sort -rh | head -n 10\n",[45,1268,1269],{"__ignoreMap":99},[103,1270,1271,1273,1275,1278,1282,1285,1288,1291,1294,1296,1299,1302],{"class":105,"line":106},[103,1272,1054],{"class":109},[103,1274,1237],{"class":112},[103,1276,1277],{"class":112}," *",[103,1279,1281],{"class":1280},"szBVR"," 2>",[103,1283,1284],{"class":244},"/dev/null",[103,1286,1287],{"class":1280}," |",[103,1289,1290],{"class":109}," sort",[103,1292,1293],{"class":112}," -rh",[103,1295,1287],{"class":1280},[103,1297,1298],{"class":109}," head",[103,1300,1301],{"class":112}," -n",[103,1303,1304],{"class":112}," 10\n",[32,1306,1307,1313,1319,1325],{},[35,1308,1309,1312],{},[45,1310,1311],{},"*"," — все файлы/папки в текущей директории.",[35,1314,1315,1318],{},[45,1316,1317],{},"2>/dev/null"," — подавить ошибки \"Permission denied\".",[35,1320,1321,1324],{},[45,1322,1323],{},"sort -rh"," — сортировка по убыванию числового значения (с учетом суффиксов G, M).",[35,1326,1327,1330],{},[45,1328,1329],{},"head -n 10"," — показать топ-10.",[1222,1332,1334],{"id":1333},"рекурсивный-анализ-с-глубиной","Рекурсивный анализ с глубиной:",[94,1336,1338],{"className":96,"code":1337,"language":98,"meta":99,"style":99},"du -h --max-depth=2 / 2>/dev/null | sort -rh | head -n 20\n",[45,1339,1340],{"__ignoreMap":99},[103,1341,1342,1344,1347,1350,1353,1355,1357,1359,1361,1363,1365,1367,1369],{"class":105,"line":106},[103,1343,1054],{"class":109},[103,1345,1346],{"class":112}," -h",[103,1348,1349],{"class":112}," --max-depth=2",[103,1351,1352],{"class":244}," /",[103,1354,1281],{"class":1280},[103,1356,1284],{"class":244},[103,1358,1287],{"class":1280},[103,1360,1290],{"class":109},[103,1362,1293],{"class":112},[103,1364,1287],{"class":1280},[103,1366,1298],{"class":109},[103,1368,1301],{"class":112},[103,1370,1371],{"class":112}," 20\n",[21,1373,1374,1375,1377],{},"Это покажет все директории в корне (",[45,1376,603],{},") с глубиной вложенности 2 уровня и выведет топ-20 по размеру.",[1096,1379,1380],{},[21,1381,1100,1382,1384,1385,1387],{},[137,1383,1103],{},": Всегда добавляйте ",[45,1386,1317],{}," при анализе системных директорий, чтобы не видеть ошибки доступа.",[172,1389,1391,1392,1394],{"id":1390},"шаг-3-установка-и-использование-ncdu-для-интерактивного-анализа","Шаг 3: Установка и использование ",[45,1393,1058],{}," для интерактивного анализа",[21,1396,1397,1401],{},[137,1398,1399],{},[45,1400,1058],{}," (NCurses Disk Usage) — интерактивная утилита, которая кардинально упрощает поиск больших файлов. Она показывает древовидную структуру с размерами и позволяет удалять файлы прямо из интерфейса.",[1222,1403,1405],{"id":1404},"установка","Установка:",[32,1407,1408,1438,1462],{},[35,1409,1410,1413,1414],{},[137,1411,1412],{},"Debian/Ubuntu",":\n",[94,1415,1417],{"className":96,"code":1416,"language":98,"meta":99,"style":99},"sudo apt update && sudo apt install ncdu\n",[45,1418,1419],{"__ignoreMap":99},[103,1420,1421,1423,1425,1427,1429,1431,1433,1435],{"class":105,"line":106},[103,1422,241],{"class":109},[103,1424,245],{"class":244},[103,1426,248],{"class":244},[103,1428,252],{"class":251},[103,1430,241],{"class":109},[103,1432,245],{"class":244},[103,1434,259],{"class":244},[103,1436,1437],{"class":244}," ncdu\n",[35,1439,1440,1413,1443],{},[137,1441,1442],{},"RHEL/CentOS/Fedora",[94,1444,1446],{"className":96,"code":1445,"language":98,"meta":99,"style":99},"sudo yum install ncdu   # или dnf на Fedora\n",[45,1447,1448],{"__ignoreMap":99},[103,1449,1450,1452,1454,1456,1459],{"class":105,"line":106},[103,1451,241],{"class":109},[103,1453,283],{"class":244},[103,1455,259],{"class":244},[103,1457,1458],{"class":244}," ncdu",[103,1460,1461],{"class":234},"   # или dnf на Fedora\n",[35,1463,1464,1413,1467],{},[137,1465,1466],{},"Arch Linux",[94,1468,1470],{"className":96,"code":1469,"language":98,"meta":99,"style":99},"sudo pacman -S ncdu\n",[45,1471,1472],{"__ignoreMap":99},[103,1473,1474,1476,1479,1482],{"class":105,"line":106},[103,1475,241],{"class":109},[103,1477,1478],{"class":244}," pacman",[103,1480,1481],{"class":112}," -S",[103,1483,1437],{"class":244},[1222,1485,1487],{"id":1486},"использование","Использование:",[94,1489,1491],{"className":96,"code":1490,"language":98,"meta":99,"style":99},"ncdu /путь/к/директории\n",[45,1492,1493],{"__ignoreMap":99},[103,1494,1495,1497],{"class":105,"line":106},[103,1496,1058],{"class":109},[103,1498,1499],{"class":244}," /путь/к/директории\n",[21,1501,1502,1503,1506],{},"Например, ",[45,1504,1505],{},"ncdu /"," для анализа всего корня (может потребовать несколько минут).",[21,1508,1509],{},[137,1510,1511,1512,425],{},"Управление в ",[45,1513,1058],{},[32,1515,1516,1526,1532,1538,1543],{},[35,1517,1518,1519,603,1522,1525],{},"Стрелки ",[45,1520,1521],{},"↑",[45,1523,1524],{},"↓"," — навигация.",[35,1527,1528,1531],{},[45,1529,1530],{},"Enter"," — войти в папку.",[35,1533,1534,1537],{},[45,1535,1536],{},"d"," — удалить выделенный файл/папку (с подтверждением).",[35,1539,1540,1542],{},[45,1541,215],{}," — выйти.",[35,1544,1545,1548],{},[45,1546,1547],{},"?"," — справка.",[21,1550,1551],{},"Интерфейс сразу показывает, какие папки \"съедают\" больше всего места, и позволяет быстро cleanspace.",[444,1553],{},[172,1555,1557,1558],{"id":1556},"шаг-4-настройка-автоматического-мониторинга-через-cron","Шаг 4: Настройка автоматического мониторинга через ",[45,1559,1560],{},"cron",[21,1562,1563],{},"Давайте настроим скрипт, который будет проверять использование диска каждый час и слать уведомление, если оно превышает 90%.",[1222,1565,1567],{"id":1566},"создайте-скрипт","Создайте скрипт:",[94,1569,1571],{"className":96,"code":1570,"language":98,"meta":99,"style":99},"sudo nano /usr/local/bin/disk-monitor.sh\n",[45,1572,1573],{"__ignoreMap":99},[103,1574,1575,1577,1580],{"class":105,"line":106},[103,1576,241],{"class":109},[103,1578,1579],{"class":244}," nano",[103,1581,1582],{"class":244}," /usr/local/bin/disk-monitor.sh\n",[21,1584,1585],{},"Вставьте следующий код:",[94,1587,1589],{"className":96,"code":1588,"language":98,"meta":99,"style":99},"#!/bin/bash\n# Скрипт мониторинга дискового пространства\nTHRESHOLD=90\nEMAIL=\"admin@example.com\"  # Замените на ваш email\nHOSTNAME=$(hostname)\n\n# Получаем использование для корневого раздела (можно добавить другие)\nUSAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')\n\nif [ \"$USAGE\" -ge \"$THRESHOLD\" ]; then\n    echo \"ВНИМАНИЕ: Дисковое пространство на $HOSTNAME заполнено на $USAGE% (порог: $THRESHOLD%).\" | \\\n    mail -s \"Критическое заполнение диска на $HOSTNAME\" $EMAIL\nfi\n",[45,1590,1591,1596,1601,1612,1625,1641,1646,1652,1684,1689,1723,1753,1772],{"__ignoreMap":99},[103,1592,1593],{"class":105,"line":106},[103,1594,1595],{"class":234},"#!/bin/bash\n",[103,1597,1598],{"class":105,"line":238},[103,1599,1600],{"class":234},"# Скрипт мониторинга дискового пространства\n",[103,1602,1603,1606,1609],{"class":105,"line":265},[103,1604,1605],{"class":251},"THRESHOLD",[103,1607,1608],{"class":1280},"=",[103,1610,1611],{"class":244},"90\n",[103,1613,1614,1617,1619,1622],{"class":105,"line":272},[103,1615,1616],{"class":251},"EMAIL",[103,1618,1608],{"class":1280},[103,1620,1621],{"class":244},"\"admin@example.com\"",[103,1623,1624],{"class":234},"  # Замените на ваш email\n",[103,1626,1627,1630,1632,1635,1638],{"class":105,"line":278},[103,1628,1629],{"class":251},"HOSTNAME",[103,1631,1608],{"class":1280},[103,1633,1634],{"class":251},"$(",[103,1636,1637],{"class":109},"hostname",[103,1639,1640],{"class":251},")\n",[103,1642,1644],{"class":105,"line":1643},6,[103,1645,269],{"emptyLinePlaceholder":268},[103,1647,1649],{"class":105,"line":1648},7,[103,1650,1651],{"class":234},"# Получаем использование для корневого раздела (можно добавить другие)\n",[103,1653,1655,1658,1660,1662,1664,1666,1668,1671,1674,1676,1679,1682],{"class":105,"line":1654},8,[103,1656,1657],{"class":251},"USAGE",[103,1659,1608],{"class":1280},[103,1661,1634],{"class":251},[103,1663,1051],{"class":109},[103,1665,1352],{"class":244},[103,1667,1287],{"class":1280},[103,1669,1670],{"class":109}," awk",[103,1672,1673],{"class":244}," 'NR==2 {print $5}'",[103,1675,1287],{"class":1280},[103,1677,1678],{"class":109}," sed",[103,1680,1681],{"class":244}," 's/%//'",[103,1683,1640],{"class":251},[103,1685,1687],{"class":105,"line":1686},9,[103,1688,269],{"emptyLinePlaceholder":268},[103,1690,1692,1695,1698,1701,1704,1706,1709,1712,1715,1717,1720],{"class":105,"line":1691},10,[103,1693,1694],{"class":1280},"if",[103,1696,1697],{"class":251}," [ ",[103,1699,1700],{"class":244},"\"",[103,1702,1703],{"class":251},"$USAGE",[103,1705,1700],{"class":244},[103,1707,1708],{"class":1280}," -ge",[103,1710,1711],{"class":244}," \"",[103,1713,1714],{"class":251},"$THRESHOLD",[103,1716,1700],{"class":244},[103,1718,1719],{"class":251}," ]; ",[103,1721,1722],{"class":1280},"then\n",[103,1724,1726,1729,1732,1735,1738,1740,1743,1745,1748,1750],{"class":105,"line":1725},11,[103,1727,1728],{"class":112},"    echo",[103,1730,1731],{"class":244}," \"ВНИМАНИЕ: Дисковое пространство на ",[103,1733,1734],{"class":251},"$HOSTNAME",[103,1736,1737],{"class":244}," заполнено на ",[103,1739,1703],{"class":251},[103,1741,1742],{"class":244},"% (порог: ",[103,1744,1714],{"class":251},[103,1746,1747],{"class":244},"%).\"",[103,1749,1287],{"class":1280},[103,1751,1752],{"class":112}," \\\n",[103,1754,1756,1759,1762,1765,1767,1769],{"class":105,"line":1755},12,[103,1757,1758],{"class":109},"    mail",[103,1760,1761],{"class":112}," -s",[103,1763,1764],{"class":244}," \"Критическое заполнение диска на ",[103,1766,1734],{"class":251},[103,1768,1700],{"class":244},[103,1770,1771],{"class":251}," $EMAIL\n",[103,1773,1775],{"class":105,"line":1774},13,[103,1776,1777],{"class":1280},"fi\n",[21,1779,1780],{},[137,1781,1782],{},"Пояснения:",[32,1784,1785,1791,1797,1806],{},[35,1786,1787,1790],{},[45,1788,1789],{},"df /"," — получаем строку для корня.",[35,1792,1793,1796],{},[45,1794,1795],{},"awk 'NR==2 {print $5}'"," — берем 5-ю колонку (процент использования) из второй строки.",[35,1798,1799,1802,1803,170],{},[45,1800,1801],{},"sed 's/%//'"," — удаляем символ ",[45,1804,1805],{},"%",[35,1807,1808,1811,1812,969,1815,82],{},[45,1809,1810],{},"mail"," — отправка email. Убедитесь, что установлен ",[45,1813,1814],{},"mailutils",[45,1816,1817],{},"sudo apt install mailutils",[21,1819,1820],{},"Сделайте скрипт исполняемым:",[94,1822,1824],{"className":96,"code":1823,"language":98,"meta":99,"style":99},"sudo chmod +x /usr/local/bin/disk-monitor.sh\n",[45,1825,1826],{"__ignoreMap":99},[103,1827,1828,1830,1833,1836],{"class":105,"line":106},[103,1829,241],{"class":109},[103,1831,1832],{"class":244}," chmod",[103,1834,1835],{"class":244}," +x",[103,1837,1582],{"class":244},[1222,1839,1841,1842,425],{"id":1840},"добавьте-в-cron","Добавьте в ",[45,1843,1560],{},[94,1845,1847],{"className":96,"code":1846,"language":98,"meta":99,"style":99},"sudo crontab -e\n",[45,1848,1849],{"__ignoreMap":99},[103,1850,1851,1853,1856],{"class":105,"line":106},[103,1852,241],{"class":109},[103,1854,1855],{"class":244}," crontab",[103,1857,1858],{"class":112}," -e\n",[21,1860,1861],{},"Добавьте строку (выполнять каждый час):",[94,1863,1866],{"className":1864,"code":1865,"language":126},[124],"0 * * * * /usr/local/bin/disk-monitor.sh\n",[45,1867,1865],{"__ignoreMap":99},[21,1869,1870],{},"Сохраните и выйдите. Теперь скрипт будет автоматически проверять диск.",[1096,1872,1873],{},[21,1874,1100,1875,1877,1878,1880],{},[137,1876,1103],{},": Для тестирования временно снизьте ",[45,1879,1605],{}," до 5% и дождитесь следующего часа или запустите скрипт вручную.",[172,1882,1884],{"id":1883},"шаг-5-использование-графических-утилит-для-десктопов","Шаг 5: Использование графических утилит (для десктопов)",[21,1886,1887],{},"Если вы работаете в графическом окружении (GNOME, KDE, XFCE), есть удобные визуальные инструменты:",[32,1889,1890,1909,1942],{},[35,1891,1892,1895,1896],{},[137,1893,1894],{},"Disk Usage Analyzer (baobab)"," — входит в GNOME. Показывает круговые и древовидные диаграммы.\n",[94,1897,1899],{"className":96,"code":1898,"language":98,"meta":99,"style":99},"baobab /home\n",[45,1900,1901],{"__ignoreMap":99},[103,1902,1903,1906],{"class":105,"line":106},[103,1904,1905],{"class":109},"baobab",[103,1907,1908],{"class":244}," /home\n",[35,1910,1911,1914,1915],{},[137,1912,1913],{},"Filelight"," — для KDE, отображает использование в виде концентрических кругов.\n",[94,1916,1918],{"className":96,"code":1917,"language":98,"meta":99,"style":99},"sudo apt install filelight  # Debian/Ubuntu\nfilelight ~\n",[45,1919,1920,1934],{"__ignoreMap":99},[103,1921,1922,1924,1926,1928,1931],{"class":105,"line":106},[103,1923,241],{"class":109},[103,1925,245],{"class":244},[103,1927,259],{"class":244},[103,1929,1930],{"class":244}," filelight",[103,1932,1933],{"class":234},"  # Debian/Ubuntu\n",[103,1935,1936,1939],{"class":105,"line":238},[103,1937,1938],{"class":109},"filelight",[103,1940,1941],{"class":244}," ~\n",[35,1943,1944,1947],{},[137,1945,1946],{},"QDirStat"," — кроссплатформенный, показывает не только размер но и количество файлов.",[21,1949,1950],{},"Установите через менеджер пакетов и запустите из меню приложений или терминала.",[16,1952,577],{"id":576},[582,1954,1955,1969,1980],{},[35,1956,1957,1964,1965,1968],{},[137,1958,1959,1960,455,1962],{},"Для ",[45,1961,1051],{},[45,1963,1054],{},": Выполните команды и убедитесь, что вывод соответствует ожиданиям. Например, ",[45,1966,1967],{},"df -h"," должен показать актуальное использование.",[35,1970,1971,1975,1976,1979],{},[137,1972,1959,1973],{},[45,1974,1058],{},": Запустите на тестовой директории (например, ",[45,1977,1978],{},"~/Downloads",") и проверьте, что интерфейс отображает файлы и папки.",[35,1981,1982,1413,1985],{},[137,1983,1984],{},"Для автоматического мониторинга",[32,1986,1987,1993,1996],{},[35,1988,1989,1990],{},"Запустите скрипт вручную: ",[45,1991,1992],{},"sudo /usr/local/bin/disk-monitor.sh",[35,1994,1995],{},"Проверьте почту (или логи, если email не настроен).",[35,1997,1998,1999,197,2002,82],{},"Посмотрите записи в системном логе: ",[45,2000,2001],{},"grep disk-monitor /var/log/syslog",[45,2003,2004],{},"journalctl",[21,2006,2007],{},"Если все работает, вы успешно настроили мониторинг!",[16,2009,643],{"id":642},[172,2011,2013,2014],{"id":2012},"_1-ошибки-permission-denied-при-использовании-du","1. Ошибки \"Permission denied\" при использовании ",[45,2015,1054],{},[21,2017,2018,2021,2022,2025,2026,2028,2029,2031,2032,2034,2035,2038],{},[137,2019,2020],{},"Причина",": Нет прав на чтение某些 системных директорий.\n",[137,2023,2024],{},"Решение",": Запускайте ",[45,2027,1054],{}," с ",[45,2030,241],{}," (осторожно!) или используйте ",[45,2033,1317],{}," для подавления ошибок. Для полной картины выполните ",[45,2036,2037],{},"sudo du -sh /var"," (только если точно знаете, что делаете).",[172,2040,2042,2043,2045,2046],{"id":2041},"_2-du-показывает-больше-места-чем-df","2. ",[45,2044,1054],{}," показывает больше места, чем ",[45,2047,1051],{},[21,2049,2050,425],{},[137,2051,2020],{},[32,2053,2054,2060],{},[35,2055,2056,2057,170],{},"Удаленные, но все еще открытые процессыми файлы (например, логи, которые удалили, но процесс пишет в них). Они занимают место на диске, но не видны в ",[45,2058,2059],{},"ls",[35,2061,2062,2063,2065,2066,2068],{},"Зарезервированное пространство для root (обычно 5% в ext4), которое ",[45,2064,1054],{}," не учитывает.\n",[137,2067,2024],{},": Найдите такие файлы:",[94,2070,2072],{"className":96,"code":2071,"language":98,"meta":99,"style":99},"sudo lsof | grep deleted\n",[45,2073,2074],{"__ignoreMap":99},[103,2075,2076,2078,2081,2083,2086],{"class":105,"line":106},[103,2077,241],{"class":109},[103,2079,2080],{"class":244}," lsof",[103,2082,1287],{"class":1280},[103,2084,2085],{"class":109}," grep",[103,2087,2088],{"class":244}," deleted\n",[21,2090,2091],{},"Завершите процесс или скопируйте файл, затем перезапустите сервис.",[172,2093,2095,2096,2098],{"id":2094},"_3-ncdu-работает-очень-долго-на-больших-файловых-системах","3. ",[45,2097,1058],{}," работает очень долго на больших файловых системах",[21,2100,2101,2103,2104,2106,2107,2109,2110,2113,2114,82],{},[137,2102,2020],{},": Анализ миллионов файлов требует времени.\n",[137,2105,2024],{},": Ограничьте анализ конкретной директорией (не ",[45,2108,603],{},"), или используйте ",[45,2111,2112],{},"--exclude"," для пропуска кэшей (например, ",[45,2115,2116],{},"ncdu --exclude /proc --exclude /sys /",[172,2118,2120],{"id":2119},"_4-автоматический-скрипт-не-отправляет-email","4. Автоматический скрипт не отправляет email",[21,2122,2123,2125,2126,425],{},[137,2124,2020],{},": Не настроен MTA (почтовый агент) или указан неверный email.\n",[137,2127,2024],{},[32,2129,2130,2139,2145],{},[35,2131,2132,2133,2135,2136,82],{},"Установите ",[45,2134,1814],{}," и настройте локальный MTA (например, ",[45,2137,2138],{},"postfix",[35,2140,2141,2142,170],{},"Для теста отправьте письмо вручную: ",[45,2143,2144],{},"echo \"test\" | mail -s \"test\" you@example.com",[35,2146,2147,2148,82],{},"Проверьте, что скрипт выполняется от root (через ",[45,2149,2150],{},"sudo crontab -e",[172,2152,2154,2155],{"id":2153},"_5-символические-ссылки-и-du","5. Символические ссылки и ",[45,2156,1054],{},[21,2158,2159,2161,2162,2164,2165,2168,2169,2171,2172,2174,2175,2178],{},[137,2160,2020],{},": По умолчанию ",[45,2163,1054],{}," не следует за символическими ссылками, но если использовать ",[45,2166,2167],{},"-L",", может зациклиться.\n",[137,2170,2024],{},": Избегайте ",[45,2173,2167],{}," при анализе системных директорий. Для конкретных случаев используйте ",[45,2176,2177],{},"du -L"," с осторожностью.",[2180,2181],"hr",{},[21,2183,2184],{},"Теперь вы вооружены знаниями, чтобы никогда не быть застигнутыми врасплох заполнением диска. Регулярный мониторинг — это маленький объем работы, который спасает от больших проблем. Удачи в администрировании!",[737,2186,2187],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .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 .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}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}",{"title":99,"searchDepth":238,"depth":238,"links":2189},[2190,2191,2192,2203,2204],{"id":18,"depth":238,"text":19},{"id":26,"depth":238,"text":27},{"id":1107,"depth":238,"text":1108,"children":2193},[2194,2196,2198,2200,2202],{"id":1111,"depth":265,"text":2195},"Шаг 1: Проверка общего использования диска командой df",{"id":1206,"depth":265,"text":2197},"Шаг 2: Анализ использования конкретных директорий с помощью du",{"id":1390,"depth":265,"text":2199},"Шаг 3: Установка и использование ncdu для интерактивного анализа",{"id":1556,"depth":265,"text":2201},"Шаг 4: Настройка автоматического мониторинга через cron",{"id":1883,"depth":265,"text":1884},{"id":576,"depth":238,"text":577},{"id":642,"depth":238,"text":643,"children":2205},[2206,2208,2210,2212,2213],{"id":2012,"depth":265,"text":2207},"1. Ошибки \"Permission denied\" при использовании du",{"id":2041,"depth":265,"text":2209},"2. du показывает больше места, чем df",{"id":2094,"depth":265,"text":2211},"3. ncdu работает очень долго на больших файловых системах",{"id":2119,"depth":265,"text":2120},{"id":2153,"depth":265,"text":2214},"5. Символические ссылки и du","2026-02-15 00:03:03","Узнайте, как эффективно отслеживать использование диска в Linux с помощью df, du и ncdu. Пошаговая инструкция по настройке автоматического мониторинга и предотвращению проблем.","15-20 мин",[2219,2222,2225,2228],{"question":2220,"answer":2221},"Как проверить, какие папки занимают больше всего места?","Используйте команду `du -sh /* | sort -rh | head -n 10` для поиска самых больших папок в корне, или установите `ncdu` для интерактивного анализа.",{"question":2223,"answer":2224},"Как настроить оповещение при заполнении диска на 90%?","Создайте скрипт, который проверяет использование диска через `df` и отправляет email или запускает команду, когда использование превышает порог. Добавьте его в cron.",{"question":2226,"answer":2227},"Почему `du` показывает больше места, чем `df`?","Это может быть связано с удаленными файлами, которые еще открыты процессами, или с различием в отображении зарезервированного пространства. Используйте `lsof | grep deleted` для поиска удаленных но открытых файлов.",{"question":2229,"answer":2230},"Можно ли мониторить диски в реальном времени?","Да, с помощью утилиты `watch` (например, `watch -n 5 df -h`) или интерактивных инструментов вроде `ncdu`.",[2232,2235,2238,2241,2244],{"name":2233,"text":2234},"Проверка общего использования диска командой df","Откройте терминал и выполните `df -h`, чтобы увидеть использование всех смонтированных файловых систем в удобочитаемом формате.",{"name":2236,"text":2237},"Анализ использования конкретных директорий с помощью du","Используйте `du -sh \u003Cдиректория>` для получения суммарного размера директории. Для поиска больших папок в текущей директории: `du -sh * | sort -rh | head -n 10`.",{"name":2239,"text":2240},"Установка и использование ncdu для интерактивного анализа","Установите ncdu через менеджер пакетов (например, `sudo apt install ncdu` для Debian/Ubuntu). Запустите `ncdu /путь/к/директории` для навигации и анализа.",{"name":2242,"text":2243},"Настройка автоматического мониторинга через cron","Создайте скрипт, который проверяет использование диска и отправляет уведомление, если оно превышает заданный порог. Добавьте задание в crontab (например, `crontab -e` и добавьте `0 * * * * /path/to/script.sh`).",{"name":2245,"text":2246},"Использование графических утилит (для десктопов)","В графических окружениях (GNOME, KDE) есть утилиты вроде 'Disk Usage Analyzer' (baobab) или 'Filelight'. Установите их через менеджер пакетов и запустите.","PT20M",[2249,2250,2251,2252,2253,2254,2255,2256,2257,2258],"мониторинг диска linux","проверить свободное место linux","df команда linux","du команда linux","ncdu установка","автоматический мониторинг диска linux","заполнение диска linux","анализ использования диска linux","disk usage monitoring linux","linux disk space alert",{},[2261,2262,2263],"/guides/linux/disk-cleanup-ubuntu","/guides/linux/filesystem-resize","/errors/linux/no-space-left-on-device",{"title":1035,"description":2216},"medium","guides/linux/disk-usage-monitoring","В этом гайде вы научитесь использовать встроенные и сторонние инструменты для мониторинга дискового пространства в Linux, а также настроите автоматические оповещения о заполнении диска.",[813,2269,2270,1051,1054,1058,1560,2271],"disk-usage","monitoring","sysadmin","H39d3DfdixGfF0ESgYcpUtOUs3cYUv8Y2-bWWgzTmE0",{"id":2274,"title":2275,"appliesTo":2276,"author":11,"body":2277,"canonical":763,"code":99,"createdAt":3171,"description":3172,"difficulty":766,"draft":767,"estimatedTime":768,"extension":769,"faq":3173,"howToSteps":3186,"howToTotalTime":799,"image":763,"keywords":3205,"locale":810,"meta":3216,"navigation":268,"path":816,"platform":813,"related":3217,"section":818,"seo":3220,"severity":763,"stem":3221,"summary":3222,"tags":3223,"twitterCreator":763,"twitterSite":763,"type":825,"updatedAt":3171,"__hash__":3228},"content_ru/guides/linux/process-monitoring.md","Мониторинг процессов в Linux: полное руководство по командам и инструментам",[7,8,9,10],{"type":13,"value":2278,"toc":3157},[2279,2281,2284,2295,2298,2300,2302,2321,2323,2327,2339,2344,2368,2373,2405,2411,2415,2423,2435,2438,2467,2472,2548,2552,2560,2567,2604,2609,2633,2637,2642,2650,2655,2693,2708,2710,2714,2721,2726,2745,2750,2768,2773,2792,2797,2826,2830,2833,2841,2938,2949,2951,2954,2984,2989,3011,3013,3142,3154],[16,2280,19],{"id":18},[21,2282,2283],{},"Мониторинг процессов — одна из ключевых задач администрирования Linux. Он позволяет:",[32,2285,2286,2289,2292],{},[35,2287,2288],{},"Диагностировать высокую нагрузку на CPU или память.",[35,2290,2291],{},"Находить «зависшие» или потребляющие слишком много ресурсов процессы.",[35,2293,2294],{},"Управлять службами и пользовательскими задачами.",[21,2296,2297],{},"После прохождения этого гайда вы сможете уверенно использовать командную строку для анализа и управления процессами на любом Linux-сервере или рабочей станции.",[16,2299,27],{"id":26},[21,2301,30],{},[582,2303,2304,2307,2310,2315],{},[35,2305,2306],{},"У вас есть доступ к терминалу (локально или через SSH).",[35,2308,2309],{},"Вы имеете базовое представление о командной строке.",[35,2311,2312,2313,170],{},"Для некоторых операций (завершение чужих процессов, просмотр всех служб) требуются права ",[137,2314,241],{},[35,2316,2317,2318,2320],{},"Рекомендуется установить ",[45,2319,64],{}," (см. Шаг 1), но не обязательно — основные команды работают везде.",[16,2322,1108],{"id":1107},[172,2324,2326],{"id":2325},"шаг-1-установка-дополнительных-инструментов-опционально","Шаг 1: Установка дополнительных инструментов (опционально)",[21,2328,2329,2330,455,2333,2335,2336,2338],{},"По умолчанию в большинстве дистрибутивов есть ",[45,2331,2332],{},"ps",[45,2334,51],{},". Для удобства установите ",[45,2337,64],{}," — цветной интерактивный мониторинговый инструмент.",[21,2340,2341],{},[137,2342,2343],{},"Ubuntu/Debian:",[94,2345,2347],{"className":96,"code":2346,"language":98,"meta":99,"style":99},"sudo apt update\nsudo apt install htop\n",[45,2348,2349,2358],{"__ignoreMap":99},[103,2350,2351,2353,2355],{"class":105,"line":106},[103,2352,241],{"class":109},[103,2354,245],{"class":244},[103,2356,2357],{"class":244}," update\n",[103,2359,2360,2362,2364,2366],{"class":105,"line":238},[103,2361,241],{"class":109},[103,2363,245],{"class":244},[103,2365,259],{"class":244},[103,2367,262],{"class":244},[21,2369,2370],{},[137,2371,2372],{},"CentOS/RHEL/Fedora:",[94,2374,2376],{"className":96,"code":2375,"language":98,"meta":99,"style":99},"sudo yum install htop  # CentOS 7\nsudo dnf install htop  # CentOS 8+/Fedora\n",[45,2377,2378,2391],{"__ignoreMap":99},[103,2379,2380,2382,2384,2386,2388],{"class":105,"line":106},[103,2381,241],{"class":109},[103,2383,283],{"class":244},[103,2385,259],{"class":244},[103,2387,288],{"class":244},[103,2389,2390],{"class":234},"  # CentOS 7\n",[103,2392,2393,2395,2398,2400,2402],{"class":105,"line":238},[103,2394,241],{"class":109},[103,2396,2397],{"class":244}," dnf",[103,2399,259],{"class":244},[103,2401,288],{"class":244},[103,2403,2404],{"class":234},"  # CentOS 8+/Fedora\n",[21,2406,2407,2408,170],{},"Проверьте установку: ",[45,2409,2410],{},"htop --version",[172,2412,2414],{"id":2413},"шаг-2-просмотр-списка-процессов-через-ps","Шаг 2: Просмотр списка процессов через ps",[21,2416,89,2417,2419,2420,425],{},[45,2418,2332],{}," выводит статический снимок процессов. Самый частый вариант — ",[45,2421,2422],{},"ps aux",[94,2424,2426],{"className":96,"code":2425,"language":98,"meta":99,"style":99},"ps aux\n",[45,2427,2428],{"__ignoreMap":99},[103,2429,2430,2432],{"class":105,"line":106},[103,2431,2332],{"class":109},[103,2433,2434],{"class":244}," aux\n",[21,2436,2437],{},"Ключевые столбцы:",[32,2439,2440,2446,2452,2461],{},[35,2441,2442,2445],{},[45,2443,2444],{},"USER"," — владелец процесса.",[35,2447,2448,2451],{},[45,2449,2450],{},"PID"," — идентификатор процесса (нужен для управления).",[35,2453,2454,2457,2458,2460],{},[45,2455,2456],{},"%CPU"," / ",[45,2459,204],{}," — использование ресурсов.",[35,2462,2463,2466],{},[45,2464,2465],{},"COMMAND"," — запущенная команда.",[21,2468,2469],{},[137,2470,2471],{},"Полезные варианты:",[32,2473,2474,2504,2530],{},[35,2475,2476,2477],{},"Сортировка по памяти (топ-10):\n",[94,2478,2480],{"className":96,"code":2479,"language":98,"meta":99,"style":99},"ps aux --sort=-%mem | head -n 11  # +1 строка заголовка\n",[45,2481,2482],{"__ignoreMap":99},[103,2483,2484,2486,2489,2492,2494,2496,2498,2501],{"class":105,"line":106},[103,2485,2332],{"class":109},[103,2487,2488],{"class":244}," aux",[103,2490,2491],{"class":112}," --sort=-%mem",[103,2493,1287],{"class":1280},[103,2495,1298],{"class":109},[103,2497,1301],{"class":112},[103,2499,2500],{"class":112}," 11",[103,2502,2503],{"class":234},"  # +1 строка заголовка\n",[35,2505,2506,2507],{},"Только PID, имя и использование CPU:\n",[94,2508,2510],{"className":96,"code":2509,"language":98,"meta":99,"style":99},"ps -eo pid,comm,%cpu --sort=-%cpu | head\n",[45,2511,2512],{"__ignoreMap":99},[103,2513,2514,2516,2519,2522,2525,2527],{"class":105,"line":106},[103,2515,2332],{"class":109},[103,2517,2518],{"class":112}," -eo",[103,2520,2521],{"class":244}," pid,comm,%cpu",[103,2523,2524],{"class":112}," --sort=-%cpu",[103,2526,1287],{"class":1280},[103,2528,2529],{"class":109}," head\n",[35,2531,2532,2533],{},"Процессы конкретного пользователя:\n",[94,2534,2536],{"className":96,"code":2535,"language":98,"meta":99,"style":99},"ps -u username\n",[45,2537,2538],{"__ignoreMap":99},[103,2539,2540,2542,2545],{"class":105,"line":106},[103,2541,2332],{"class":109},[103,2543,2544],{"class":112}," -u",[103,2546,2547],{"class":244}," username\n",[172,2549,2551],{"id":2550},"шаг-3-интерактивный-мониторинг-с-top","Шаг 3: Интерактивный мониторинг с top",[21,2553,2554,2556,2557,2559],{},[45,2555,51],{}," — классический инструмент для реального времени. Просто введите ",[45,2558,51],{}," в терминале.",[21,2561,2562],{},[137,2563,2564,2565,425],{},"Основные действия в ",[45,2566,51],{},[32,2568,2569,2584,2599],{},[35,2570,2571,2572,2575,2576,2579,2580,2583],{},"Сортировка: нажмите ",[45,2573,2574],{},"P"," (по CPU), ",[45,2577,2578],{},"M"," (по памяти), ",[45,2581,2582],{},"T"," (по времени).",[35,2585,2586,2587,2590,2591,2594,2595,2598],{},"Завершение процесса: нажмите ",[45,2588,2589],{},"k",", введите PID, затем сигнал (по умолчанию ",[45,2592,2593],{},"15"," — SIGTERM). Для принудительного завершения используйте ",[45,2596,2597],{},"9"," (SIGKILL).",[35,2600,2601,2602,170],{},"Выход: ",[45,2603,215],{},[21,2605,2606],{},[137,2607,2608],{},"Настройка отображаемых столбцов:",[32,2610,2611,2624],{},[35,2612,2613,2614,2616,2617,2620,2621,2623],{},"Нажмите ",[45,2615,200],{}," для добавления/удаления полей (например, ",[45,2618,2619],{},"VIRT"," — виртуальная память, ",[45,2622,207],{}," — резидентная).",[35,2625,2626,2627,2629,2630,2632],{},"Для отображения путей к исполняемым файлам: в настройках (",[45,2628,200],{},") найдите ",[45,2631,2465],{}," и переключите в режим полного пути.",[172,2634,2636],{"id":2635},"шаг-4-использование-htop-для-расширенного-контроля","Шаг 4: Использование htop для расширенного контроля",[21,2638,2639,2641],{},[45,2640,64],{}," предоставляет более удобный интерфейс с мышью (если поддерживается) и цветовой индикацией.",[21,2643,2644,2647,2648,170],{},[137,2645,2646],{},"Запуск:"," просто ",[45,2649,64],{},[21,2651,2652],{},[137,2653,2654],{},"Ключевые возможности:",[32,2656,2657,2660,2666,2672,2679,2686],{},[35,2658,2659],{},"Прокрутка списка процессов (колесико мыши или стрелки).",[35,2661,2662,2663,170],{},"Древо процессов: ",[45,2664,2665],{},"F5",[35,2667,2668,2669,2671],{},"Сортировка: ",[45,2670,300],{}," → выберите столбец (CPU, MEM, TIME+).",[35,2673,2674,2675,2678],{},"Завершение процесса: выделите строку → ",[45,2676,2677],{},"F9"," → выберите сигнал (SIGTERM, SIGKILL и др.).",[35,2680,2681,2682,2685],{},"Фильтрация: ",[45,2683,2684],{},"F4"," → введите часть имени процесса.",[35,2687,2688,2689,2692],{},"Поиск: ",[45,2690,2691],{},"F3"," → введите запрос.",[21,2694,2695,2698,2699,2702,2703,2705,2706,170],{},[137,2696,2697],{},"Пример:"," чтобы найти все процессы, связанные с ",[45,2700,2701],{},"nginx",", нажмите ",[45,2704,2684],{}," и введите ",[45,2707,2701],{},[444,2709],{},[172,2711,2713],{"id":2712},"шаг-5-мониторинг-служб-systemd","Шаг 5: Мониторинг служб systemd",[21,2715,2716,2717,2720],{},"Если система использует ",[45,2718,2719],{},"systemd"," (современные дистрибутивы), процессы часто запускаются как службы.",[21,2722,2723],{},[137,2724,2725],{},"Проверка статуса службы:",[94,2727,2729],{"className":96,"code":2728,"language":98,"meta":99,"style":99},"systemctl status nginx  # вместо nginx — имя службы\n",[45,2730,2731],{"__ignoreMap":99},[103,2732,2733,2736,2739,2742],{"class":105,"line":106},[103,2734,2735],{"class":109},"systemctl",[103,2737,2738],{"class":244}," status",[103,2740,2741],{"class":244}," nginx",[103,2743,2744],{"class":234},"  # вместо nginx — имя службы\n",[21,2746,2747],{},[137,2748,2749],{},"Просмотр всех активных служб:",[94,2751,2753],{"className":96,"code":2752,"language":98,"meta":99,"style":99},"systemctl list-units --type=service --state=running\n",[45,2754,2755],{"__ignoreMap":99},[103,2756,2757,2759,2762,2765],{"class":105,"line":106},[103,2758,2735],{"class":109},[103,2760,2761],{"class":244}," list-units",[103,2763,2764],{"class":112}," --type=service",[103,2766,2767],{"class":112}," --state=running\n",[21,2769,2770],{},[137,2771,2772],{},"Логи службы в реальном времени:",[94,2774,2776],{"className":96,"code":2775,"language":98,"meta":99,"style":99},"journalctl -u nginx -f  # -f — follow, отслеживание новых записей\n",[45,2777,2778],{"__ignoreMap":99},[103,2779,2780,2782,2784,2786,2789],{"class":105,"line":106},[103,2781,2004],{"class":109},[103,2783,2544],{"class":112},[103,2785,2741],{"class":244},[103,2787,2788],{"class":112}," -f",[103,2790,2791],{"class":234},"  # -f — follow, отслеживание новых записей\n",[21,2793,2794],{},[137,2795,2796],{},"Перезапуск/остановка службы:",[94,2798,2800],{"className":96,"code":2799,"language":98,"meta":99,"style":99},"sudo systemctl restart nginx\nsudo systemctl stop nginx\n",[45,2801,2802,2815],{"__ignoreMap":99},[103,2803,2804,2806,2809,2812],{"class":105,"line":106},[103,2805,241],{"class":109},[103,2807,2808],{"class":244}," systemctl",[103,2810,2811],{"class":244}," restart",[103,2813,2814],{"class":244}," nginx\n",[103,2816,2817,2819,2821,2824],{"class":105,"line":238},[103,2818,241],{"class":109},[103,2820,2808],{"class":244},[103,2822,2823],{"class":244}," stop",[103,2825,2814],{"class":244},[172,2827,2829],{"id":2828},"шаг-6-автоматизация-сбора-данных","Шаг 6: Автоматизация сбора данных",[21,2831,2832],{},"Для регулярного сбора статистики создайте простой bash-скрипт.",[21,2834,2835],{},[137,2836,2837,2838,425],{},"Пример скрипта ",[45,2839,2840],{},"monitor_processes.sh",[94,2842,2844],{"className":96,"code":2843,"language":98,"meta":99,"style":99},"#!/bin/bash\n# Скрипт для периодического вывода топ-5 процессов по CPU и памяти\n\necho \"=== $(date) ===\"\necho \"Топ-5 по CPU:\"\nps -eo pid,comm,%cpu --sort=-%cpu | head -n 6\necho \"\"\necho \"Топ-5 по памяти:\"\nps -eo pid,comm,%mem --sort=-%mem | head -n 6\necho \"\"\n",[45,2845,2846,2850,2855,2859,2873,2880,2899,2906,2913,2932],{"__ignoreMap":99},[103,2847,2848],{"class":105,"line":106},[103,2849,1595],{"class":234},[103,2851,2852],{"class":105,"line":238},[103,2853,2854],{"class":234},"# Скрипт для периодического вывода топ-5 процессов по CPU и памяти\n",[103,2856,2857],{"class":105,"line":265},[103,2858,269],{"emptyLinePlaceholder":268},[103,2860,2861,2864,2867,2870],{"class":105,"line":272},[103,2862,2863],{"class":112},"echo",[103,2865,2866],{"class":244}," \"=== $(",[103,2868,2869],{"class":109},"date",[103,2871,2872],{"class":244},") ===\"\n",[103,2874,2875,2877],{"class":105,"line":278},[103,2876,2863],{"class":112},[103,2878,2879],{"class":244}," \"Топ-5 по CPU:\"\n",[103,2881,2882,2884,2886,2888,2890,2892,2894,2896],{"class":105,"line":1643},[103,2883,2332],{"class":109},[103,2885,2518],{"class":112},[103,2887,2521],{"class":244},[103,2889,2524],{"class":112},[103,2891,1287],{"class":1280},[103,2893,1298],{"class":109},[103,2895,1301],{"class":112},[103,2897,2898],{"class":112}," 6\n",[103,2900,2901,2903],{"class":105,"line":1648},[103,2902,2863],{"class":112},[103,2904,2905],{"class":244}," \"\"\n",[103,2907,2908,2910],{"class":105,"line":1654},[103,2909,2863],{"class":112},[103,2911,2912],{"class":244}," \"Топ-5 по памяти:\"\n",[103,2914,2915,2917,2919,2922,2924,2926,2928,2930],{"class":105,"line":1686},[103,2916,2332],{"class":109},[103,2918,2518],{"class":112},[103,2920,2921],{"class":244}," pid,comm,%mem",[103,2923,2491],{"class":112},[103,2925,1287],{"class":1280},[103,2927,1298],{"class":109},[103,2929,1301],{"class":112},[103,2931,2898],{"class":112},[103,2933,2934,2936],{"class":105,"line":1691},[103,2935,2863],{"class":112},[103,2937,2905],{"class":244},[21,2939,2940,2941,2944,2945,2948],{},"Сделайте его исполняемым: ",[45,2942,2943],{},"chmod +x monitor_processes.sh",". Запускайте вручную или добавьте в ",[45,2946,2947],{},"crontab"," для периодического выполнения (например, каждые 5 минут).",[16,2950,577],{"id":576},[21,2952,2953],{},"Вы успешно освоили мониторинг процессов, если:",[32,2955,2956,2959,2967,2978],{},[35,2957,2958],{},"Можете вывести список процессов и отсортировать его по интересующему ресурсу.",[35,2960,2961,2962,68,2964,82],{},"Находите PID конкретного приложения (например, ",[45,2963,2701],{},[45,2965,2966],{},"python",[35,2968,2969,2970,2973,2974,603,2976,170],{},"Завершаете ненужный процесс с помощью ",[45,2971,2972],{},"kill"," или через интерфейс ",[45,2975,51],{},[45,2977,64],{},[35,2979,2980,2981,2983],{},"Просматриваете логи службы ",[45,2982,2719],{}," и понимаете её статус.",[21,2985,2986],{},[137,2987,2988],{},"Быстрая проверка:",[582,2990,2991,2996,3008],{},[35,2992,294,2993,2995],{},[45,2994,64],{}," — вы должны увидеть обновляющийся список.",[35,2997,2998,2999,3001,3002,3005,3006,170],{},"Найдите процесс с высоким ",[45,3000,2456],{}," и завершите его (например, ",[45,3003,3004],{},"stress-ng"," если установлен) через ",[45,3007,2677],{},[35,3009,3010],{},"Убедитесь, что процесс исчез из списка.",[16,3012,643],{"id":642},[3014,3015,3016,3028],"table",{},[3017,3018,3019],"thead",{},[3020,3021,3022,3026],"tr",{},[3023,3024,3025],"th",{},"Проблема",[3023,3027,2024],{},[3029,3030,3031,3045,3064,3085,3100,3120],"tbody",{},[3020,3032,3033,3039],{},[3034,3035,3036,3038],"td",{},[45,3037,64],{}," не устанавливается (нет пакета)",[3034,3040,3041,3042,3044],{},"Используйте ",[45,3043,51],{}," или соберите из исходников. В очень старых дистрибутивах может отсутствовать — обновите систему.",[3020,3046,3047,3055],{},[3034,3048,3049,3050,603,3052,3054],{},"Не видны процессы других пользователей (в ",[45,3051,2332],{},[45,3053,51],{},")",[3034,3056,3057,3058,3060,3061,82],{},"Запускайте команды с ",[45,3059,241],{}," или切换те пользователя (",[45,3062,3063],{},"su -",[3020,3065,3066,3071],{},[3034,3067,600,3068,3070],{},[45,3069,51],{}," нет столбца с путями к командам",[3034,3072,2613,3073,3075,3076,2702,3078,3080,3081,3084],{},[45,3074,200],{},", найдите ",[45,3077,2465],{},[45,3079,1536],{}," для редактирования, выберите ",[45,3082,3083],{},"c"," (command line/path).",[3020,3086,3087,3093],{},[3034,3088,3089,3090],{},"Процесс не завершается даже после ",[45,3091,3092],{},"kill -9",[3034,3094,3095,3096,3099],{},"Процесс может находиться в состоянии ",[45,3097,3098],{},"D"," (uninterruptible sleep). Обычно это означает проблему с файловой системой или NFS. Перезагрузка — часто единственный выход.",[3020,3101,3102,3107],{},[3034,3103,3104,3106],{},[45,3105,2735],{}," не найден",[3034,3108,3109,3110,3112,3113,68,3116,3119],{},"Система не использует ",[45,3111,2719],{}," (возможно, SysVinit). Используйте ",[45,3114,3115],{},"service",[45,3117,3118],{},"init.d"," скрипты.",[3020,3121,3122,3128],{},[3034,3123,3124,3125,3127],{},"При сортировке в ",[45,3126,2332],{}," вывод неверный",[3034,3129,3130,3131,48,3134,3137,3138,3141],{},"Убедитесь, что используете правильные опции. Для числовых полей (",[45,3132,3133],{},"%cpu",[45,3135,3136],{},"%mem",") нужен ",[45,3139,3140],{},"--sort=-%cpu"," (с минусом для убывания).",[21,3143,3144,3147,3148,3150,3151,3153],{},[137,3145,3146],{},"Примечание:"," Для управления процессами других пользователей почти всегда требуется ",[45,3149,241],{},". Будьте осторожны с ",[45,3152,3092],{}," — это принудительное завершение без возможности сохранения данных.",[737,3155,3156],{},"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":99,"searchDepth":238,"depth":238,"links":3158},[3159,3160,3161,3169,3170],{"id":18,"depth":238,"text":19},{"id":26,"depth":238,"text":27},{"id":1107,"depth":238,"text":1108,"children":3162},[3163,3164,3165,3166,3167,3168],{"id":2325,"depth":265,"text":2326},{"id":2413,"depth":265,"text":2414},{"id":2550,"depth":265,"text":2551},{"id":2635,"depth":265,"text":2636},{"id":2712,"depth":265,"text":2713},{"id":2828,"depth":265,"text":2829},{"id":576,"depth":238,"text":577},{"id":642,"depth":238,"text":643},"2026-02-15 21:14:08","Узнайте, как отслеживать и управлять процессами в Linux с помощью ps, top, htop и systemd. Пошаговая инструкция для диагностики нагрузки и поиска проблемных процессов.",[3174,3177,3180,3183],{"question":3175,"answer":3176},"Как найти процесс, который использует больше всего памяти?","Используйте команду `ps aux --sort=-%mem | head -n 10` для вывода топ-10 процессов по памяти или `top`, а затем нажмите `M` для сортировки.",{"question":3178,"answer":3179},"Что делать, если процесс не завершается командой kill?","Попробуйте отправить сигнал SIGKILL: `kill -9 \u003CPID>`. Если процесс в состоянии `D` (uninterruptible sleep), он не реагирует на сигналы — возможна проблема с вводом-выводом, может потребоваться перезагрузка.",{"question":3181,"answer":3182},"Как отслеживать изменения списка процессов в реальном времени?","Используйте `top` или `htop` для интерактивного обновления. Для периодического снимка в терминале: `watch -n 2 'ps aux'` (обновляет каждые 2 секунды).",{"question":3184,"answer":3185},"В чем разница между `ps` и `top`?","`ps` показывает статический снимок процессов на момент вызова, а `top` обновляет экран в реальном времени и позволяет взаимодействовать с процессами (менять приоритет, завершать).",[3187,3190,3193,3196,3199,3202],{"name":3188,"text":3189},"Установка дополнительных инструментов (опционально)","Установите `htop` для удобного интерактивного мониторинга, если его нет в системе. Для Ubuntu/Debian: `sudo apt install htop`. Для CentOS/RHEL: `sudo yum install htop`.",{"name":3191,"text":3192},"Просмотр списка процессов через ps","Используйте `ps aux` для детального списка всех процессов. Для сортировки по использованию CPU: `ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head`.",{"name":3194,"text":3195},"Интерактивный мониторинг с top","Запустите `top` для реального отслеживания. Нажмите `P` (заглавная) для сортировки по CPU, `M` — по памяти, `k` — чтобы завершить процесс (введите PID).",{"name":3197,"text":3198},"Использование htop для расширенного контроля","Запустите `htop` для цветного интерфейса с возможностью прокрутки. Используйте F9 для отправки сигналов (SIGTERM, SIGKILL), F5 для дерева процессов, F6 для сортировки.",{"name":3200,"text":3201},"Мониторинг служб systemd","Проверьте статус служб: `systemctl status \u003Cservice>`. Просмотрите логи службы: `journalctl -u \u003Cservice> -f` для отслеживания в реальном времени.",{"name":3203,"text":3204},"Автоматизация сбора данных","Создайте скрипт для периодического сбора топ-процессов. Пример: `while true; do ps -eo pid,comm,%cpu --sort=-%cpu | head -n 5; sleep 5; done`.",[3206,3207,3208,3209,3210,3211,3212,3213,3214,3215],"мониторинг процессов linux","команда ps linux","top htop linux","управление процессами linux","systemd процессы","как посмотреть процессы в linux","ошибка процесс linux","нагрузка cpu linux","kill процесс linux","linux процессы список",{},[815,3218,3219],"/guides/linux/service-management","/guides/linux/log-analysis",{"title":2275,"description":3172},"guides/linux/process-monitoring","Этот гайд научит вас эффективно мониторить процессы в Linux, используя как классические команды, так и современные утилиты. Вы сможете анализировать использование CPU и памяти, находить «зависшие» процессы и управлять ими.",[813,824,3224,3225,3226,2719,3227],"процессы","администрирование","command line","performance","X2Lyr3RNCyh56z9jqsIRnGIYaQDLKuB_kLEgfSESZqc",{"id":3230,"title":3231,"appliesTo":3232,"author":11,"body":3237,"canonical":763,"code":4235,"createdAt":4236,"description":4237,"difficulty":2265,"draft":767,"estimatedTime":4238,"extension":769,"faq":4239,"howToSteps":4252,"howToTotalTime":2247,"image":763,"keywords":4268,"locale":810,"meta":4278,"navigation":268,"path":817,"platform":813,"related":4279,"section":4283,"seo":4284,"severity":4285,"stem":4286,"summary":4287,"tags":4288,"twitterCreator":763,"twitterSite":763,"type":4291,"updatedAt":4236,"__hash__":4292},"content_ru/errors/linux/out-of-memory-error.md","Out of Memory (OOM) ошибка в Linux: причины и способы решения",[3233,3234,3235,3236],"Linux (любой дистрибутив)","Systemd-based системы","Docker/Kubernetes среды","Серверы и рабочие станции",{"type":13,"value":3238,"toc":4223},[3239,3243,3258,3274,3280,3283,3287,3290,3340,3344,3348,3351,3569,3573,3576,3758,3762,3765,3984,3988,3991,4120,4124,4193,4195,4199,4220],[16,3240,3242],{"id":3241},"что-означает-ошибка-out-of-memory-oom","Что означает ошибка Out of Memory (OOM)",[21,3244,3245,3246,3249,3250,3253,3254,3257],{},"Ошибка ",[137,3247,3248],{},"Out of Memory (OOM)"," в Linux — это не сообщение в стиле Windows, а ",[137,3251,3252],{},"действие ядра операционной системы",". Когда система физически исчерпывает всю доступную оперативную память (RAM) и место в swap-файле/разделе, ядро активирует механизм ",[137,3255,3256],{},"OOM killer"," (убийца при нехватке памяти).",[21,3259,3260,3261,3264,3265,48,3268,48,3270,3273],{},"Его цель — сохранить работоспособность системы в целом, ",[137,3262,3263],{},"принудительно завершив один или несколько процессов",", которые потребляют наибольший объём памяти. Типичный симптом: процесс (например, ",[45,3266,3267],{},"java",[45,3269,2966],{},[45,3271,3272],{},"mysqld",", контейнер Docker) внезапно завершается с сообщением в логах:",[94,3275,3278],{"className":3276,"code":3277,"language":126},[124],"[12345.678] Out of memory: Kill process 1234 (some_process) score 500 or sacrifice child\n[12345.679] Killed process 1234 (some_process) total-vm:1234567kB, anon-rss:987654kB, file-rss:0kB\n",[45,3279,3277],{"__ignoreMap":99},[21,3281,3282],{},"Система может стать неотзывчивой, а после завершения «виновника» — вернуться в нормальное состояние.",[16,3284,3286],{"id":3285},"причины-возникновения","Причины возникновения",[21,3288,3289],{},"Причины нехватки памяти обычно делятся на несколько категорий:",[582,3291,3292,3298,3316,3322,3328,3334],{},[35,3293,3294,3297],{},[137,3295,3296],{},"Утечки памяти (Memory Leaks) в приложениях."," Программа (например, на Java, Python, C++) постепенно выделяет память под объекты, но не освобождает её после использования. Со временем потребление растёт до критических значений.",[35,3299,3300,3303,3304,3307,3308,3311,3312,3315],{},[137,3301,3302],{},"Неправильная конфигурация приложений."," Чрезмерно большой размер кучи (heap) для JVM (",[45,3305,3306],{},"-Xmx","), кэширование слишком больших объёмов данных без ограничений, неоптимальные настройки веб-сервера (например, ",[45,3309,3310],{},"worker_processes"," + ",[45,3313,3314],{},"worker_connections"," в Nginx).",[35,3317,3318,3321],{},[137,3319,3320],{},"Физически недостаточный объём RAM."," Запуск нескольких требовательных приложений (виртуальные машины, базы данных, тяжёлые IDE) на сервере с малым количеством памяти.",[35,3323,3324,3327],{},[137,3325,3326],{},"Отсутствие или недостаточный размер swap-пространства."," Swap служит «подушкой безопасности». Если его нет или он слишком мал, первое же существенное нехватка RAM приведёт к OOM.",[35,3329,3330,3333],{},[137,3331,3332],{},"Атака или вредоносное ПО."," Например, DDoS-атака, вызывающая создание множества соединений, или скрипт, бесконечно создающий процессы/объекты в памяти.",[35,3335,3336,3339],{},[137,3337,3338],{},"«Зомби»-процессы или неосвобождаемые ресурсы ядра."," Хотя реже, но некоторые ядерные структуры (например, неосвобождённые inode или dentry) могут накапливаться.",[16,3341,3343],{"id":3342},"способы-решения","Способы решения",[172,3345,3347],{"id":3346},"способ-1-диагностика-и-мониторинг-первый-шаг-всегда","Способ 1: Диагностика и мониторинг (первый шаг всегда)",[21,3349,3350],{},"Прежде чем что-то менять, точно определите источник проблемы.",[582,3352,3353,3423,3499],{},[35,3354,3355,3358,3410,3413,3414,455,3416,969,3419,3422],{},[137,3356,3357],{},"Проверьте системный журнал на наличие записей OOM.",[94,3359,3361],{"className":96,"code":3360,"language":98,"meta":99,"style":99},"# Поиск в логах systemd (journalctl)\njournalctl -k | grep -i -E \"killed process|out of memory\"\n\n# Или через dmesg\ndmesg | grep -i oom\n",[45,3362,3363,3368,3387,3391,3396],{"__ignoreMap":99},[103,3364,3365],{"class":105,"line":106},[103,3366,3367],{"class":234},"# Поиск в логах systemd (journalctl)\n",[103,3369,3370,3372,3375,3377,3379,3382,3384],{"class":105,"line":238},[103,3371,2004],{"class":109},[103,3373,3374],{"class":112}," -k",[103,3376,1287],{"class":1280},[103,3378,2085],{"class":109},[103,3380,3381],{"class":112}," -i",[103,3383,437],{"class":112},[103,3385,3386],{"class":244}," \"killed process|out of memory\"\n",[103,3388,3389],{"class":105,"line":265},[103,3390,269],{"emptyLinePlaceholder":268},[103,3392,3393],{"class":105,"line":272},[103,3394,3395],{"class":234},"# Или через dmesg\n",[103,3397,3398,3401,3403,3405,3407],{"class":105,"line":278},[103,3399,3400],{"class":109},"dmesg",[103,3402,1287],{"class":1280},[103,3404,2085],{"class":109},[103,3406,3381],{"class":112},[103,3408,3409],{"class":244}," oom\n",[3411,3412],"br",{},"В выводе будет ",[137,3415,2450],{},[137,3417,3418],{},"имя процесса",[45,3420,3421],{},"some_process","), который был убит. Это ваш главный подозреваемый.",[35,3424,3425,3428],{},[137,3426,3427],{},"Оцените текущее использование памяти.",[94,3429,3431],{"className":96,"code":3430,"language":98,"meta":99,"style":99},"# Установите утилиту, если нет (для Debian/Ubuntu)\nsudo apt-get install htop\n\n# Запустите htop (нажимайте F6 для сортировки по MEM%)\nhtop\n\n# Или используйте встроенные команды\nfree -h  # Покажет общую картину RAM+Swap\nps aux --sort=-%mem | head -10  # Топ-10 процессов по памяти\n",[45,3432,3433,3438,3449,3453,3458,3463,3467,3472,3481],{"__ignoreMap":99},[103,3434,3435],{"class":105,"line":106},[103,3436,3437],{"class":234},"# Установите утилиту, если нет (для Debian/Ubuntu)\n",[103,3439,3440,3442,3445,3447],{"class":105,"line":238},[103,3441,241],{"class":109},[103,3443,3444],{"class":244}," apt-get",[103,3446,259],{"class":244},[103,3448,262],{"class":244},[103,3450,3451],{"class":105,"line":265},[103,3452,269],{"emptyLinePlaceholder":268},[103,3454,3455],{"class":105,"line":272},[103,3456,3457],{"class":234},"# Запустите htop (нажимайте F6 для сортировки по MEM%)\n",[103,3459,3460],{"class":105,"line":278},[103,3461,3462],{"class":109},"htop\n",[103,3464,3465],{"class":105,"line":1643},[103,3466,269],{"emptyLinePlaceholder":268},[103,3468,3469],{"class":105,"line":1648},[103,3470,3471],{"class":234},"# Или используйте встроенные команды\n",[103,3473,3474,3476,3478],{"class":105,"line":1654},[103,3475,47],{"class":109},[103,3477,1346],{"class":112},[103,3479,3480],{"class":234},"  # Покажет общую картину RAM+Swap\n",[103,3482,3483,3485,3487,3489,3491,3493,3496],{"class":105,"line":1686},[103,3484,2332],{"class":109},[103,3486,2488],{"class":244},[103,3488,2491],{"class":112},[103,3490,1287],{"class":1280},[103,3492,1298],{"class":109},[103,3494,3495],{"class":112}," -10",[103,3497,3498],{"class":234},"  # Топ-10 процессов по памяти\n",[35,3500,3501,3504,3563,3565,3566,170],{},[137,3502,3503],{},"Для контейнеров Docker/Kubernetes:",[94,3505,3507],{"className":96,"code":3506,"language":98,"meta":99,"style":99},"# Показать контейнеры с их потреблением памяти\ndocker stats --no-stream\n\n# Проверить логи контейнера на наличие OOM\ndocker logs \u003Ccontainer_id> 2>&1 | grep -i oom\n",[45,3508,3509,3514,3525,3529,3534],{"__ignoreMap":99},[103,3510,3511],{"class":105,"line":106},[103,3512,3513],{"class":234},"# Показать контейнеры с их потреблением памяти\n",[103,3515,3516,3519,3522],{"class":105,"line":238},[103,3517,3518],{"class":109},"docker",[103,3520,3521],{"class":244}," stats",[103,3523,3524],{"class":112}," --no-stream\n",[103,3526,3527],{"class":105,"line":265},[103,3528,269],{"emptyLinePlaceholder":268},[103,3530,3531],{"class":105,"line":272},[103,3532,3533],{"class":234},"# Проверить логи контейнера на наличие OOM\n",[103,3535,3536,3538,3541,3544,3547,3549,3552,3555,3557,3559,3561],{"class":105,"line":278},[103,3537,3518],{"class":109},[103,3539,3540],{"class":244}," logs",[103,3542,3543],{"class":1280}," \u003C",[103,3545,3546],{"class":244},"container_i",[103,3548,1536],{"class":251},[103,3550,3551],{"class":1280},">",[103,3553,3554],{"class":1280}," 2>&1",[103,3556,1287],{"class":1280},[103,3558,2085],{"class":109},[103,3560,3381],{"class":112},[103,3562,3409],{"class":244},[3411,3564],{},"В Kubernetes событие OOM будет в ",[45,3567,3568],{},"kubectl describe pod \u003Cpod_name>",[172,3570,3572],{"id":3571},"способ-2-немедленные-действия-для-стабилизации-системы","Способ 2: Немедленные действия для стабилизации системы",[21,3574,3575],{},"Если система уже в кризисе, но ещё реагирует:",[582,3577,3578,3624,3678],{},[35,3579,3580,3583,3584,82,3586,3611,3613,3616,3617,3620,3621,170],{},[137,3581,3582],{},"Вручную завершите «пожирателя» памяти"," (используйте PID из логов или ",[45,3585,64],{},[94,3587,3589],{"className":96,"code":3588,"language":98,"meta":99,"style":99},"sudo kill -9 \u003CPID>\n",[45,3590,3591],{"__ignoreMap":99},[103,3592,3593,3595,3598,3601,3603,3606,3608],{"class":105,"line":106},[103,3594,241],{"class":109},[103,3596,3597],{"class":244}," kill",[103,3599,3600],{"class":112}," -9",[103,3602,3543],{"class":1280},[103,3604,3605],{"class":244},"PI",[103,3607,3098],{"class":251},[103,3609,3610],{"class":1280},">\n",[3411,3612],{},[137,3614,3615],{},"Внимание:"," ",[45,3618,3619],{},"-9"," (SIGKILL) — грубая сила. Сначала попробуйте обычный ",[45,3622,3623],{},"kill \u003CPID>",[35,3625,3626,3629,3630,3633,3634,3672,3674],{},[137,3627,3628],{},"Очистите кэши файловой системы"," (может помочь, если проблема в кэшах). ",[137,3631,3632],{},"Это безопасно",", ядро заново заполнит их по мере необходимости.",[94,3635,3637],{"className":96,"code":3636,"language":98,"meta":99,"style":99},"# Очистка только кэша страниц (pagecache), dentries и inodes\nsudo sync  # Синхронизируем данные на диск\necho 3 | sudo tee /proc/sys/vm/drop_caches\n",[45,3638,3639,3644,3654],{"__ignoreMap":99},[103,3640,3641],{"class":105,"line":106},[103,3642,3643],{"class":234},"# Очистка только кэша страниц (pagecache), dentries и inodes\n",[103,3645,3646,3648,3651],{"class":105,"line":238},[103,3647,241],{"class":109},[103,3649,3650],{"class":244}," sync",[103,3652,3653],{"class":234},"  # Синхронизируем данные на диск\n",[103,3655,3656,3658,3661,3663,3666,3669],{"class":105,"line":265},[103,3657,2863],{"class":112},[103,3659,3660],{"class":112}," 3",[103,3662,1287],{"class":1280},[103,3664,3665],{"class":109}," sudo",[103,3667,3668],{"class":244}," tee",[103,3670,3671],{"class":244}," /proc/sys/vm/drop_caches\n",[3411,3673],{},[3675,3676,3677],"em",{},"Не выполняйте эту команду слишком часто и не на продакшн-сервере без понимания последствий.",[35,3679,3680,3683,3684,3753,3755,3756,170],{},[137,3681,3682],{},"Временно увеличьте swap-пространство"," (если его мало или нет), чтобы дать системе «передышку».",[94,3685,3687],{"className":96,"code":3686,"language":98,"meta":99,"style":99},"# Создаём файл подкачки размером 2ГБ\nsudo fallocate -l 2G /swapfile\nsudo chmod 600 /swapfile\nsudo mkswap /swapfile\nsudo swapon /swapfile\n\n# Чтобы включить после перезагрузки, добавьте в /etc/fstab:\n# /swapfile none swap sw 0 0\n",[45,3688,3689,3694,3710,3721,3730,3739,3743,3748],{"__ignoreMap":99},[103,3690,3691],{"class":105,"line":106},[103,3692,3693],{"class":234},"# Создаём файл подкачки размером 2ГБ\n",[103,3695,3696,3698,3701,3704,3707],{"class":105,"line":238},[103,3697,241],{"class":109},[103,3699,3700],{"class":244}," fallocate",[103,3702,3703],{"class":112}," -l",[103,3705,3706],{"class":244}," 2G",[103,3708,3709],{"class":244}," /swapfile\n",[103,3711,3712,3714,3716,3719],{"class":105,"line":265},[103,3713,241],{"class":109},[103,3715,1832],{"class":244},[103,3717,3718],{"class":112}," 600",[103,3720,3709],{"class":244},[103,3722,3723,3725,3728],{"class":105,"line":272},[103,3724,241],{"class":109},[103,3726,3727],{"class":244}," mkswap",[103,3729,3709],{"class":244},[103,3731,3732,3734,3737],{"class":105,"line":278},[103,3733,241],{"class":109},[103,3735,3736],{"class":244}," swapon",[103,3738,3709],{"class":244},[103,3740,3741],{"class":105,"line":1643},[103,3742,269],{"emptyLinePlaceholder":268},[103,3744,3745],{"class":105,"line":1648},[103,3746,3747],{"class":234},"# Чтобы включить после перезагрузки, добавьте в /etc/fstab:\n",[103,3749,3750],{"class":105,"line":1654},[103,3751,3752],{"class":234},"# /swapfile none swap sw 0 0\n",[3411,3754],{},"Проверьте: ",[45,3757,589],{},[172,3759,3761],{"id":3760},"способ-3-настройка-поведения-oom-killer-oompolicy","Способ 3: Настройка поведения OOM killer (OOMPolicy)",[21,3763,3764],{},"Вы можете повлиять на то, какой процесс OOM killer выберет в первую очередь.",[582,3766,3767,3872],{},[35,3768,3769,3775,3776,3779,3780,3783,3784,3862,3864,3867,3868,3871],{},[137,3770,3041,3771,3774],{},[45,3772,3773],{},"oom_score_adj"," для критичных процессов."," У каждого процесса есть ",[45,3777,3778],{},"oom_score"," (от 0 до 1000), рассчитанный на основе потребления памяти. Чем выше, тем вероятнее его убийство. Вы можете ",[137,3781,3782],{},"снизить"," этот балл для важных сервисов.",[94,3785,3787],{"className":96,"code":3786,"language":98,"meta":99,"style":99},"# Посмотреть текущий oom_score для процесса\ncat /proc/\u003CPID>/oom_score\n\n# Установить низкий приоритет на убийство (например, -500) для PID 1234\nsudo echo -500 > /proc/1234/oom_score_adj\n\n# Для постоянной настройки лучше использовать systemd-юнит\n# В файле сервиса /etc/systemd/system/\u003Cservice>.service добавьте:\n# [Service]\n# OOMScoreAdjust=-500\n",[45,3788,3789,3794,3813,3817,3822,3838,3842,3847,3852,3857],{"__ignoreMap":99},[103,3790,3791],{"class":105,"line":106},[103,3792,3793],{"class":234},"# Посмотреть текущий oom_score для процесса\n",[103,3795,3796,3798,3801,3804,3806,3808,3810],{"class":105,"line":238},[103,3797,383],{"class":109},[103,3799,3800],{"class":244}," /proc/",[103,3802,3803],{"class":1280},"\u003C",[103,3805,3605],{"class":244},[103,3807,3098],{"class":251},[103,3809,3551],{"class":1280},[103,3811,3812],{"class":244},"/oom_score\n",[103,3814,3815],{"class":105,"line":265},[103,3816,269],{"emptyLinePlaceholder":268},[103,3818,3819],{"class":105,"line":272},[103,3820,3821],{"class":234},"# Установить низкий приоритет на убийство (например, -500) для PID 1234\n",[103,3823,3824,3826,3829,3832,3835],{"class":105,"line":278},[103,3825,241],{"class":109},[103,3827,3828],{"class":244}," echo",[103,3830,3831],{"class":112}," -500",[103,3833,3834],{"class":1280}," >",[103,3836,3837],{"class":244}," /proc/1234/oom_score_adj\n",[103,3839,3840],{"class":105,"line":1643},[103,3841,269],{"emptyLinePlaceholder":268},[103,3843,3844],{"class":105,"line":1648},[103,3845,3846],{"class":234},"# Для постоянной настройки лучше использовать systemd-юнит\n",[103,3848,3849],{"class":105,"line":1654},[103,3850,3851],{"class":234},"# В файле сервиса /etc/systemd/system/\u003Cservice>.service добавьте:\n",[103,3853,3854],{"class":105,"line":1686},[103,3855,3856],{"class":234},"# [Service]\n",[103,3858,3859],{"class":105,"line":1691},[103,3860,3861],{"class":234},"# OOMScoreAdjust=-500\n",[3411,3863],{},[137,3865,3866],{},"Важно:"," Не ставьте ",[45,3869,3870],{},"oom_score_adj = -1000"," (запрет на убийство) для всех процессов. Это может привести к полному зависанию системы.",[35,3873,3874,3880,3881,3884,3885,969,3888,3891,3892,969,3895,3898,3899,3972,3974,3976,3977,3979,3980,3983],{},[137,3875,3876,3877,82],{},"Изменение политики переcommitting памяти (",[45,3878,3879],{},"vm.overcommit_memory","\nПо умолчанию (",[45,3882,3883],{},"0",") ядро использует эвристику. Режим ",[45,3886,3887],{},"1",[45,3889,3890],{},"Always overcommit",") позволяет выделять память без ограничений, но риск OOM возрастает. Режим ",[45,3893,3894],{},"2",[45,3896,3897],{},"Don't overcommit",") строго проверяет, достаточно ли памяти+swap.",[94,3900,3902],{"className":96,"code":3901,"language":98,"meta":99,"style":99},"# Проверить текущее значение\ncat /proc/sys/vm/overcommit_memory\n\n# Временно установить режим \"не переcommittить\" (2)\nsudo sysctl vm.overcommit_memory=2\nsudo sysctl vm.overcommit_ratio=100  # % от RAM+Swap, который можно выделить\n\n# Для постоянной настройки добавьте в /etc/sysctl.conf:\n# vm.overcommit_memory = 2\n# vm.overcommit_ratio = 100\n",[45,3903,3904,3909,3916,3920,3925,3938,3953,3957,3962,3967],{"__ignoreMap":99},[103,3905,3906],{"class":105,"line":106},[103,3907,3908],{"class":234},"# Проверить текущее значение\n",[103,3910,3911,3913],{"class":105,"line":238},[103,3912,383],{"class":109},[103,3914,3915],{"class":244}," /proc/sys/vm/overcommit_memory\n",[103,3917,3918],{"class":105,"line":265},[103,3919,269],{"emptyLinePlaceholder":268},[103,3921,3922],{"class":105,"line":272},[103,3923,3924],{"class":234},"# Временно установить режим \"не переcommittить\" (2)\n",[103,3926,3927,3929,3932,3935],{"class":105,"line":278},[103,3928,241],{"class":109},[103,3930,3931],{"class":244}," sysctl",[103,3933,3934],{"class":244}," vm.overcommit_memory=",[103,3936,3937],{"class":112},"2\n",[103,3939,3940,3942,3944,3947,3950],{"class":105,"line":1643},[103,3941,241],{"class":109},[103,3943,3931],{"class":244},[103,3945,3946],{"class":244}," vm.overcommit_ratio=",[103,3948,3949],{"class":112},"100",[103,3951,3952],{"class":234},"  # % от RAM+Swap, который можно выделить\n",[103,3954,3955],{"class":105,"line":1648},[103,3956,269],{"emptyLinePlaceholder":268},[103,3958,3959],{"class":105,"line":1654},[103,3960,3961],{"class":234},"# Для постоянной настройки добавьте в /etc/sysctl.conf:\n",[103,3963,3964],{"class":105,"line":1686},[103,3965,3966],{"class":234},"# vm.overcommit_memory = 2\n",[103,3968,3969],{"class":105,"line":1691},[103,3970,3971],{"class":234},"# vm.overcommit_ratio = 100\n",[3411,3973],{},[137,3975,3615],{}," Режим ",[45,3978,3894],{}," может привести к тому, что приложения начнут падать с ",[45,3981,3982],{},"Cannot allocate memory"," ещё до срабатывания OOM killer, что иногда удобнее для отладки.",[172,3985,3987],{"id":3986},"способ-4-устранение-коренной-причины","Способ 4: Устранение коренной причины",[21,3989,3990],{},"Это самый важный и долгосрочный шаг.",[582,3992,3993,4038,4044,4097,4103],{},[35,3994,3995,3998,3999,48,4001,4004,4005,48,4008,48,4011,4014,4015],{},[137,3996,3997],{},"Для Java-приложений:"," Проверьте и уменьшите размер кучи (",[45,4000,3306],{},[45,4002,4003],{},"-Xms",") в параметрах JVM. Используйте инструменты вроде ",[45,4006,4007],{},"jstat",[45,4009,4010],{},"jmap",[45,4012,4013],{},"VisualVM"," для анализа heap dump.",[94,4016,4018],{"className":96,"code":4017,"language":98,"meta":99,"style":99},"# Пример запуска с ограничением heap до 2ГБ\njava -Xmx2g -jar your_app.jar\n",[45,4019,4020,4025],{"__ignoreMap":99},[103,4021,4022],{"class":105,"line":106},[103,4023,4024],{"class":234},"# Пример запуска с ограничением heap до 2ГБ\n",[103,4026,4027,4029,4032,4035],{"class":105,"line":238},[103,4028,3267],{"class":109},[103,4030,4031],{"class":112}," -Xmx2g",[103,4033,4034],{"class":112}," -jar",[103,4036,4037],{"class":244}," your_app.jar\n",[35,4039,4040,4043],{},[137,4041,4042],{},"Для веб-серверов (Nginx/Apache):"," Оптимизируйте количество рабочих процессов/потоков под имеющуюся память. Убедитесь, что нет бесконечного кэширования.",[35,4045,4046,4049],{},[137,4047,4048],{},"Поиск утечек памяти:",[32,4050,4051,4060,4074,4085],{},[35,4052,4053,4056,4057,170],{},[137,4054,4055],{},"Для C/C++:"," Используйте ",[45,4058,4059],{},"valgrind --leak-check=yes",[35,4061,4062,3616,4065,48,4068,48,4071,170],{},[137,4063,4064],{},"Для Python:",[45,4066,4067],{},"tracemalloc",[45,4069,4070],{},"objgraph",[45,4072,4073],{},"memory_profiler",[35,4075,4076,3616,4079,48,4082,170],{},[137,4077,4078],{},"Для Node.js:",[45,4080,4081],{},"heapdump",[45,4083,4084],{},"clinic.js",[35,4086,4087,3616,4090,4093,4094,170],{},[137,4088,4089],{},"Общие утилиты:",[45,4091,4092],{},"smem -t -p"," (показывает PSS — Proportional Set Size), ",[45,4095,4096],{},"cat /proc/\u003CPID>/smaps",[35,4098,4099,4102],{},[137,4100,4101],{},"Апгрейд железа."," Если нагрузка закономерна и приложение оптимизировано, возможно, просто не хватает физической RAM для рабочих задач.",[35,4104,4105,4108,4109,48,4112,4115,4116,4119],{},[137,4106,4107],{},"Для контейнеров (Docker/K8s):"," Корректно задавайте лимиты памяти (",[45,4110,4111],{},"--memory",[45,4113,4114],{},"--memory-swap"," в Docker; ",[45,4117,4118],{},"resources.limits.memory"," в K8s). Без лимитов контейнер может «съесть» всю память хоста.",[16,4121,4123],{"id":4122},"профилактика","Профилактика",[582,4125,4126,4152,4161,4175,4187],{},[35,4127,4128,4131,4132],{},[137,4129,4130],{},"Внедрите мониторинг."," Настройте алерты (в Zabbix, Prometheus/Grafana, Nagios) на ключевые метрики:",[32,4133,4134,4140,4146],{},[35,4135,4136,4139],{},[45,4137,4138],{},"node_memory_MemAvailable_bytes"," (доступно памяти) \u003C 10-15%",[35,4141,4142,4145],{},[45,4143,4144],{},"node_memory_SwapTotal_bytes"," и использование swap > 50%",[35,4147,4148,4151],{},[45,4149,4150],{},"container_spec_memory_limit_bytes"," (для контейнеров)",[35,4153,4154,4157,4158,4160],{},[137,4155,4156],{},"Регулярно анализируйте логи."," Добавьте в мониторинг парсинг логов ",[45,4159,2004],{}," на наличие «Killed process».",[35,4162,4163,4166,4167,4170,4171,4174],{},[137,4164,4165],{},"Правильно настраивайте лимиты."," Для всех сервисов (особенно в Docker/K8s) задавайте как ",[45,4168,4169],{},"requests"," (гарантированный минимум), так и ",[45,4172,4173],{},"limits"," (жёсткий потолок).",[35,4176,4177,4180,4181,48,4183,4186],{},[137,4178,4179],{},"Тестируйте под нагрузкой."," Проводите нагрузочное тестирование (например, ",[45,4182,3004],{},[45,4184,4185],{},"memtester",") в staging-среде, чтобы увидеть поведение приложения при росте потребления памяти.",[35,4188,4189,4192],{},[137,4190,4191],{},"Следите за версиями ПО."," Утечки памяти часто исправляются в обновлениях. Регулярно обновляйте ОС и критичные приложения.",[444,4194],{},[16,4196,4198],{"id":4197},"заключение","Заключение",[21,4200,3245,4201,4204,4205,4207,4208,4211,4212,4215,4216,4219],{},[137,4202,4203],{},"Out of Memory"," в Linux — это сигнал о том, что система исчерпала свои ресурсы. Механизм ",[137,4206,3256],{}," — это последняя линия обороны, а не решение проблемы. Ваша задача — ",[137,4209,4210],{},"диагностировать"," «пожирателя» памяти через логи, ",[137,4213,4214],{},"стабилизировать"," систему (завершив процесс или добавив swap), а затем ",[137,4217,4218],{},"устранить коренную причину",": утечку, неправильную конфигурацию или физический недостаток RAM. Профилактика через мониторинг и грамотное выделение лимитов — лучший способ избежать внезапных падений сервисов в будущем.",[737,4221,4222],{},"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 .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}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}",{"title":99,"searchDepth":238,"depth":238,"links":4224},[4225,4226,4227,4233,4234],{"id":3241,"depth":238,"text":3242},{"id":3285,"depth":238,"text":3286},{"id":3342,"depth":238,"text":3343,"children":4228},[4229,4230,4231,4232],{"id":3346,"depth":265,"text":3347},{"id":3571,"depth":265,"text":3572},{"id":3760,"depth":265,"text":3761},{"id":3986,"depth":265,"text":3987},{"id":4122,"depth":238,"text":4123},{"id":4197,"depth":238,"text":4198},"OOM","2026-02-15 16:50:40","Система Linux завершает процессы из-за нехватки памяти? Узнайте, как работает OOM killer, диагностировать проблему и настроить систему для стабильной работы. Пошаговое руководство.","15-30 мин",[4240,4243,4246,4249],{"question":4241,"answer":4242},"Что такое OOM killer и почему он завершает мои процессы?","OOM killer (Out-Of-Memory killer) — это механизм ядра Linux, который автоматически завершает один или несколько процессов, когда система физически исчерпала всю доступную оперативную память (RAM) и swap-пространство, чтобы предотвратить полный крах системы.",{"question":4244,"answer":4245},"Можно ли полностью отключить OOM killer?","Можно, но крайне не рекомендуется. Отключение (через `echo 0 > /proc/sys/vm/panic_on_oom`) приведёт к тому, что система зависнет при нехватке памяти, вместо того чтобы убить процесс. Лучше настроить параметры OOM или устранить причину нехватки памяти.",{"question":4247,"answer":4248},"Как понять, какой процесс был убит OOM killer?","Поищите записи в системном журнале (journalctl). Команда `journalctl -k | grep -i \"killed process\"` или `dmesg | grep -i oom` покажет, какой процесс (с его PID и именем) был завершён и сколько памяти он потреблял.",{"question":4250,"answer":4251},"Повышение swap-пространства всегда решает проблему OOM?","Не всегда. Swap — это медленная запись на диск. Система будет работать крайне медленно (thrashing) ещё до срабатывания OOM, если активно использует swap. Это временная мера, а не решение проблемы утечек памяти или неправильного выделения ресурсов.",[4253,4256,4259,4262,4265],{"name":4254,"text":4255},"Диагностика: проверьте журналы на наличие OOM событий","Определите, сработал ли OOM killer и какой процесс был завершён. Это ключевой первый шаг.",{"name":4257,"text":4258},"Мониторинг: оцените текущее использование памяти","Используйте утилиты в реальном времени, чтобы понять, какие процессы потребляют больше всего RAM.",{"name":4260,"text":4261},"Краткосрочное решение: освободите память","Если система ещё работает, но нестабильна, можно вручную завершить «пожирателей» памяти или очистить кэши.",{"name":4263,"text":4264},"Среднесрочное решение: настройте параметры OOM","Настройте `oom_score_adj` для критичных процессов или измените политику переcommitting памяти (`vm.overcommit_memory`).",{"name":4266,"text":4267},"Долгосрочное решение: устранение причины","Найдите и исправьте утечки памяти в приложениях, оптимизируйте конфигурации (например, JVM heap) или увеличьте объём RAM.",[4269,4270,4271,4272,4273,4274,4275,4276,3879,4277],"out of memory error linux","oom killer","нехватка памяти linux","как исправить oom linux","система завершает процессы из-за памяти","oom error ubuntu","docker out of memory","killed process linux","memory leak linux",{},[4280,4281,4282],"/errors/linux/docker-oom-killed","/guides/linux/monitor-memory-usage","/errors/linux/swap-space-issues","Ошибки Linux",{"title":3231,"description":4237},"critical","errors/linux/out-of-memory-error","Статья подробно объясняет ошибку 'Out of Memory' (OOM) в Linux, механизм работы OOM killer, основные причины нехватки оперативной памяти и предоставляет конкретные пошаговые инструкции по диагностике, немедленному исправлению и профилактике проблемы.",[4289,4270,4290,2271,3227,3518,2270],"ошибки linux","memory management","error","X2HzvnvYn7WOy3OVhIcLPPeFCXFQzL8wSC_33U6B0lQ"]