[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/swap-configuration":3,"mdc-n3nc61-key":999,"mdc-61u9ca-key":1008,"mdc--ub1474-key":1016,"mdc--733q68-key":1055,"mdc-s66ndh-key":1078,"mdc-i323uc-key":1086,"mdc--ixnf4i-key":1108,"mdc-xgpkwq-key":1116,"mdc--qd6hqk-key":1132,"related-/guides/linux/memory-usage-monitoring,/guides/linux/sysctl-tuning,/errors/linux/out-of-memory-killer":1154},{"id":4,"title":5,"appliesTo":6,"author":13,"body":14,"canonical":931,"code":931,"createdAt":932,"description":933,"difficulty":934,"draft":935,"estimatedTime":936,"extension":937,"faq":938,"howToSteps":951,"howToTotalTime":967,"image":931,"keywords":968,"locale":977,"meta":978,"navigation":979,"path":980,"platform":981,"related":982,"section":986,"seo":987,"severity":931,"stem":988,"summary":989,"tags":990,"twitterCreator":931,"twitterSite":931,"type":997,"updatedAt":932,"__hash__":998},"content_ru/guides/linux/swap-configuration.md","Настройка swap-пространства в Linux: подробное руководство",[7,8,9,10,11,12],"Ubuntu 20.04+","Debian 11+","CentOS 8+","RHEL 8+","Fedora 35+","Any modern Linux distribution","FixPedia Team",{"type":15,"value":16,"toc":900},"minimark",[17,22,26,34,38,41,93,96,100,103,128,135,147,162,165,178,187,189,193,209,217,238,248,255,285,303,316,318,322,325,342,348,351,365,368,376,386,388,391,393,397,400,413,416,428,437,446,448,452,458,468,479,482,491,494,502,508,529,534,547,552,570,583,592,595,609,622,624,628,715,717,721,728,740,747,752,775,779,783,804,808,832,836,841,868,872,896],[18,19,21],"h2",{"id":20},"введение-зачем-это-нужно","Введение / Зачем это нужно",[23,24,25],"p",{},"Swap-пространство (area of swap, подкачка) — это область на диске, которая используется как расширение оперативной памяти (ОЗУ). Когда физической памяти становится недостаточно, ядро Linux перемещает неактивные страницы памяти в swap, освобождая ОЗУ для более важных процессов. Это помогает избежать аварийного завершения программ из-за нехватки памяти (OOM killer) и повышает общую стабильность системы, особенно на серверах с небольшим объёмом ОЗУ или на десктопах, где одновременно работают многие тяжёлые приложения.",[23,27,28,29,33],{},"В этом гайде вы научитесь создавать и настраивать ",[30,31,32],"strong",{},"swap-файл"," — наиболее гибкий и современный способ добавления swap-пространства в Linux. Вы сможете контролировать его размер, включать/отключать без перезагрузки и настраивать поведение системы при использовании подкачки.",[18,35,37],{"id":36},"требования-подготовка","Требования / Подготовка",[23,39,40],{},"Перед началом убедитесь, что:",[42,43,44,56,67,73],"ol",{},[45,46,47,48,51,52,55],"li",{},"У вас есть доступ к системе с правами ",[30,49,50],{},"sudo"," или ",[30,53,54],{},"root",".",[45,57,58,59,51,63,66],{},"На целевом диске (обычно ",[60,61,62],"code",{},"/",[60,64,65],{},"/home",") достаточно свободного места. Рекомендуемый размер swap: от 2 ГБ до размера вашей ОЗУ (см. FAQ).",[45,68,69,70,55],{},"Вы знаете путь к разделу, на котором будет размещаться файл. Проверить можно командой ",[60,71,72],{},"df -h",[45,74,75,76,79,80,83,84,87,88,90,91,55],{},"Установлены базовые утилиты: ",[60,77,78],{},"fallocate"," (обычно в пакете ",[60,81,82],{},"util-linux",") или ",[60,85,86],{},"dd",". Если ",[60,89,78],{}," недоступен, используйте ",[60,92,86],{},[94,95],"hr",{},[18,97,99],{"id":98},"шаг-1-проверка-текущего-swap-пространства","Шаг 1: Проверка текущего swap-пространства",[23,101,102],{},"Сначала давайте посмотрим, есть ли уже активный swap и сколько он занимает. Выполните команду:",[104,105,110],"pre",{"className":106,"code":107,"language":108,"meta":109,"style":109},"language-bash shiki shiki-themes github-light github-dark","sudo swapon --show\n","bash","",[60,111,112],{"__ignoreMap":109},[113,114,117,120,124],"span",{"class":115,"line":116},"line",1,[113,118,50],{"class":119},"sScJk",[113,121,123],{"class":122},"sZZnC"," swapon",[113,125,127],{"class":126},"sj4cs"," --show\n",[23,129,130,131,134],{},"Или используйте утилиту ",[60,132,133],{},"free",":",[104,136,138],{"className":106,"code":137,"language":108,"meta":109,"style":109},"free -h\n",[60,139,140],{"__ignoreMap":109},[113,141,142,144],{"class":115,"line":116},[113,143,133],{"class":119},[113,145,146],{"class":126}," -h\n",[23,148,149,150,153,154,157,158,161],{},"В выводе ищите строку ",[60,151,152],{},"Swap:",". Если она показывает ",[60,155,156],{},"0B"," или раздел ",[60,159,160],{},"swap"," отсутствует в списке, значит, активного swap нет, и вам нужно его создать.",[23,163,164],{},"Также можно проверить, есть ли уже swap-раздел в системе, с помощью:",[104,166,168],{"className":106,"code":167,"language":108,"meta":109,"style":109},"lsblk -f\n",[60,169,170],{"__ignoreMap":109},[113,171,172,175],{"class":115,"line":116},[113,173,174],{"class":119},"lsblk",[113,176,177],{"class":126}," -f\n",[23,179,180,181,183,184,55],{},"Ищите тип ",[60,182,160],{}," в колонке ",[60,185,186],{},"FSTYPE",[94,188],{},[18,190,192],{"id":191},"шаг-2-создание-swap-файла","Шаг 2: Создание swap-файла",[23,194,195,196,198,199,51,202,205,206,55],{},"Мы создадим swap-файл в корневом каталоге (",[60,197,62],{},"). Вы можете выбрать другое место, например ",[60,200,201],{},"/swapfile",[60,203,204],{},"/var/swap",". Размер укажем в гигабайтах. Для примера создадим файл размером ",[30,207,208],{},"4 ГБ",[210,211,213,214,216],"h3",{"id":212},"способ-a-с-помощью-fallocate-быстро-рекомендовано","Способ A: С помощью ",[60,215,78],{}," (быстро, рекомендовано)",[104,218,220],{"className":106,"code":219,"language":108,"meta":109,"style":109},"sudo fallocate -l 4G /swapfile\n",[60,221,222],{"__ignoreMap":109},[113,223,224,226,229,232,235],{"class":115,"line":116},[113,225,50],{"class":119},[113,227,228],{"class":122}," fallocate",[113,230,231],{"class":126}," -l",[113,233,234],{"class":122}," 4G",[113,236,237],{"class":122}," /swapfile\n",[23,239,240,241,243,244,247],{},"Эта команда мгновенно создаёт файл заданного размера, резервируя место на диске. Если ",[60,242,78],{}," не работает на вашей файловой системе (например, на некоторых старых версиях ext4 с включённым ",[60,245,246],{},"-o discard","), используйте Способ B.",[210,249,251,252,254],{"id":250},"способ-b-с-помощью-dd-медленнее-но-универсальнее","Способ B: С помощью ",[60,253,86],{}," (медленнее, но универсальнее)",[104,256,258],{"className":106,"code":257,"language":108,"meta":109,"style":109},"sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress\n",[60,259,260],{"__ignoreMap":109},[113,261,262,264,267,270,273,276,279,282],{"class":115,"line":116},[113,263,50],{"class":119},[113,265,266],{"class":122}," dd",[113,268,269],{"class":122}," if=/dev/zero",[113,271,272],{"class":122}," of=/swapfile",[113,274,275],{"class":122}," bs=1M",[113,277,278],{"class":122}," count=",[113,280,281],{"class":126},"4096",[113,283,284],{"class":122}," status=progress\n",[23,286,287,288,291,292,295,296,299,300,302],{},"Здесь ",[60,289,290],{},"bs=1M"," — блок в 1 мегабайт, ",[60,293,294],{},"count=4096"," — количество блоков (4096 * 1М = 4ГБ). ",[60,297,298],{},"status=progress"," показывает ход выполнения (доступно в современных версиях ",[60,301,86],{},").",[304,305,306],"blockquote",{},[23,307,308,309,312,313,315],{},"⚠️ ",[30,310,311],{},"Важно:"," Убедитесь, что на целевом разделе достаточно места. Команда ",[60,314,72],{}," покажет свободное пространство.",[94,317],{},[18,319,321],{"id":320},"шаг-3-настройка-прав-дочения-и-превращение-в-swap","Шаг 3: Настройка прав дочения и превращение в swap",[23,323,324],{},"По умолчанию созданный файл доступен на чтение и запись всем. Это небезопасно для swap-файла. Установим правильные права:",[104,326,328],{"className":106,"code":327,"language":108,"meta":109,"style":109},"sudo chmod 600 /swapfile\n",[60,329,330],{"__ignoreMap":109},[113,331,332,334,337,340],{"class":115,"line":116},[113,333,50],{"class":119},[113,335,336],{"class":122}," chmod",[113,338,339],{"class":126}," 600",[113,341,237],{"class":122},[23,343,344,345,347],{},"Теперь только пользователь ",[60,346,54],{}," может читать и записывать в этот файл.",[23,349,350],{},"Далее инициализируем файл как swap-область:",[104,352,354],{"className":106,"code":353,"language":108,"meta":109,"style":109},"sudo mkswap /swapfile\n",[60,355,356],{"__ignoreMap":109},[113,357,358,360,363],{"class":115,"line":116},[113,359,50],{"class":119},[113,361,362],{"class":122}," mkswap",[113,364,237],{"class":122},[23,366,367],{},"Вывод команды будет примерно таким:",[104,369,374],{"className":370,"code":372,"language":373},[371],"language-text","Setting up swapspace version 1, size = 4 GiB (4294967296 bytes)\nno label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n","text",[60,375,372],{"__ignoreMap":109},[23,377,378,379,382,383,55],{},"Запомните или сохраните ",[30,380,381],{},"UUID"," (уникальный идентификатор) — он понадобится для настройки ",[60,384,385],{},"/etc/fstab",[94,387],{},[389,390],"in-article-ad",{},[94,392],{},[18,394,396],{"id":395},"шаг-4-активация-swap-файла","Шаг 4: Активация swap-файла",[23,398,399],{},"Теперь включим новое swap-пространство в текущей сессии:",[104,401,403],{"className":106,"code":402,"language":108,"meta":109,"style":109},"sudo swapon /swapfile\n",[60,404,405],{"__ignoreMap":109},[113,406,407,409,411],{"class":115,"line":116},[113,408,50],{"class":119},[113,410,123],{"class":122},[113,412,237],{"class":122},[23,414,415],{},"Снова проверьте его наличие:",[104,417,418],{"className":106,"code":107,"language":108,"meta":109,"style":109},[60,419,420],{"__ignoreMap":109},[113,421,422,424,426],{"class":115,"line":116},[113,423,50],{"class":119},[113,425,123],{"class":122},[113,427,127],{"class":126},[23,429,430,431,433,434,55],{},"Вы должны увидеть ваш ",[60,432,201],{}," в списке с указанием размера и типа ",[60,435,436],{},"file",[23,438,439,440,443,444,55],{},"Также команда ",[60,441,442],{},"free -h"," покажет общий объём swap в строке ",[60,445,152],{},[94,447],{},[18,449,451],{"id":450},"шаг-5-настройка-параметров-и-постоянное-включение","Шаг 5: Настройка параметров и постоянное включение",[210,453,455,456],{"id":454},"_51-добавление-в-etcfstab","5.1 Добавление в ",[60,457,385],{},[23,459,460,461,463,464,467],{},"Чтобы swap активировался автоматически при каждой загрузке системы, добавьте запись в файл ",[60,462,385],{},". Откройте его для редактирования (например, ",[60,465,466],{},"sudo nano /etc/fstab",") и добавьте строку:",[104,469,473],{"className":470,"code":471,"language":472,"meta":109,"style":109},"language-ini shiki shiki-themes github-light github-dark","/swapfile none swap sw 0 0\n","ini",[60,474,475],{"__ignoreMap":109},[113,476,477],{"class":115,"line":116},[113,478,471],{},[23,480,481],{},"Если вы хотите использовать UUID (более надёжный способ, особенно если путь к файлу может измениться), укажите:",[104,483,485],{"className":470,"code":484,"language":472,"meta":109,"style":109},"UUID=ваш-uuid-из-шага-3 none swap sw 0 0\n",[60,486,487],{"__ignoreMap":109},[113,488,489],{"class":115,"line":116},[113,490,484],{},[23,492,493],{},"Сохраните файл и закройте редактор.",[210,495,497,498,501],{"id":496},"_52-настройка-vmswappiness-опционально","5.2 Настройка ",[60,499,500],{},"vm.swappiness"," (опционально)",[23,503,504,505,507],{},"Параметр ",[60,506,500],{}," контролирует, насколько агрессивно ядро будет использовать swap. Значение от 0 до 100.",[509,510,511,517,523],"ul",{},[45,512,513,516],{},[60,514,515],{},"0"," — ядро будет избегать swap, пока не будет полностью исчерпана ОЗУ.",[45,518,519,522],{},[60,520,521],{},"100"," — ядро будет активно использовать swap.",[45,524,525,526,55],{},"По умолчанию в большинстве дистрибутивов — ",[60,527,528],{},"60",[23,530,531],{},[30,532,533],{},"Проверить текущее значение:",[104,535,537],{"className":106,"code":536,"language":108,"meta":109,"style":109},"cat /proc/sys/vm/swappiness\n",[60,538,539],{"__ignoreMap":109},[113,540,541,544],{"class":115,"line":116},[113,542,543],{"class":119},"cat",[113,545,546],{"class":122}," /proc/sys/vm/swappiness\n",[23,548,549],{},[30,550,551],{},"Временно изменить (до перезагрузки):",[104,553,555],{"className":106,"code":554,"language":108,"meta":109,"style":109},"sudo sysctl vm.swappiness=10\n",[60,556,557],{"__ignoreMap":109},[113,558,559,561,564,567],{"class":115,"line":116},[113,560,50],{"class":119},[113,562,563],{"class":122}," sysctl",[113,565,566],{"class":122}," vm.swappiness=",[113,568,569],{"class":126},"10\n",[23,571,572,575,576,579,580,134],{},[30,573,574],{},"Постоянно изменить:"," добавьте строку в ",[60,577,578],{},"/etc/sysctl.conf"," или создайте отдельный конфиг в ",[60,581,582],{},"/etc/sysctl.d/99-swappiness.conf",[104,584,586],{"className":470,"code":585,"language":472,"meta":109,"style":109},"vm.swappiness=10\n",[60,587,588],{"__ignoreMap":109},[113,589,590],{"class":115,"line":116},[113,591,585],{},[23,593,594],{},"Примените изменения без перезагрузки:",[104,596,598],{"className":106,"code":597,"language":108,"meta":109,"style":109},"sudo sysctl -p\n",[60,599,600],{"__ignoreMap":109},[113,601,602,604,606],{"class":115,"line":116},[113,603,50],{"class":119},[113,605,563],{"class":122},[113,607,608],{"class":126}," -p\n",[23,610,611,612,615,616,618,619,55],{},"Для большинства десктопных систем рекомендуемое значение — ",[60,613,614],{},"10-30",". Для серверов с большим объёмом ОЗУ можно оставить ",[60,617,528],{}," или даже понизить до ",[60,620,621],{},"10",[94,623],{},[18,625,627],{"id":626},"проверка-результата","Проверка результата",[42,629,630,640,664,686],{},[45,631,632,635,636,639],{},[30,633,634],{},"Перезагрузите систему"," (",[60,637,638],{},"sudo reboot","), чтобы убедиться, что swap активируется автоматически.",[45,641,642,643,663],{},"После загрузки выполните:\n",[104,644,646],{"className":106,"code":645,"language":108,"meta":109,"style":109},"sudo swapon --show\nfree -h\n",[60,647,648,656],{"__ignoreMap":109},[113,649,650,652,654],{"class":115,"line":116},[113,651,50],{"class":119},[113,653,123],{"class":122},[113,655,127],{"class":126},[113,657,659,661],{"class":115,"line":658},2,[113,660,133],{"class":119},[113,662,146],{"class":126},"\nВ выводе должен присутствовать ваш swap-файл.",[45,665,666,667,669,670,685],{},"Проверьте, что запись в ",[60,668,385],{}," не вызывает ошибок при загрузке. Можно выполнить:\n",[104,671,673],{"className":106,"code":672,"language":108,"meta":109,"style":109},"sudo mount -a\n",[60,674,675],{"__ignoreMap":109},[113,676,677,679,682],{"class":115,"line":116},[113,678,50],{"class":119},[113,680,681],{"class":122}," mount",[113,683,684],{"class":126}," -a\n","\nЕсли команда завершится без ошибок, конфигурация верна.",[45,687,688,689,710,711,714],{},"Следите за использованием swap в реальном времени:\n",[104,690,692],{"className":106,"code":691,"language":108,"meta":109,"style":109},"watch -n 2 free -h\n",[60,693,694],{"__ignoreMap":109},[113,695,696,699,702,705,708],{"class":115,"line":116},[113,697,698],{"class":119},"watch",[113,700,701],{"class":126}," -n",[113,703,704],{"class":126}," 2",[113,706,707],{"class":122}," free",[113,709,146],{"class":126},"\nИли используйте утилиту ",[60,712,713],{},"htop"," (если установлена), где swap отображается вверху.",[94,716],{},[18,718,720],{"id":719},"возможные-проблемы","Возможные проблемы",[210,722,724,725,727],{"id":723},"проблема-fallocate-не-работает-файл-создаётся-с-нулевым-размером","Проблема: ",[60,726,78],{}," не работает, файл создаётся с нулевым размером",[23,729,730,733,734,736,737,739],{},[30,731,732],{},"Решение:"," Используйте ",[60,735,86],{}," (Способ B). Это может происходить на файловых системах, не поддерживающих ",[60,738,78],{}," (например, некоторые конфигурации NFS или старые ext4).",[210,741,743,744],{"id":742},"проблема-при-активации-появляется-ошибка-swapon-swapfile-swapon-failed-invalid-argument","Проблема: При активации появляется ошибка ",[60,745,746],{},"swapon: /swapfile: swapon failed: Invalid argument",[23,748,749,751],{},[30,750,732],{}," Скорее всего, файл создан неправильно или имеет неверные права. Убедитесь, что:",[42,753,754,760,769],{},[45,755,756,757,302],{},"Файл существует и имеет размер больше нуля (",[60,758,759],{},"ls -lh /swapfile",[45,761,762,763,635,766,302],{},"Права установлены в ",[60,764,765],{},"600",[60,767,768],{},"sudo chmod 600 /swapfile",[45,770,771,772,55],{},"Файл инициализирован через ",[60,773,774],{},"sudo mkswap /swapfile",[210,776,778],{"id":777},"проблема-swap-не-активируется-после-перезагрузки","Проблема: Swap не активируется после перезагрузки",[23,780,781],{},[30,782,732],{},[42,784,785,791,798],{},[45,786,787,788,790],{},"Проверьте синтаксис записи в ",[60,789,385],{},". Лучше использовать UUID.",[45,792,793,794,797],{},"Проверьте вывод ",[60,795,796],{},"sudo mount -a"," на наличие ошибок.",[45,799,800,801,803],{},"Убедитесь, что файл ",[60,802,201],{}," существует по указанному пути и не был удалён.",[210,805,807],{"id":806},"проблема-система-не-использует-swap-хотя-память-заканчивается","Проблема: Система не использует swap, хотя память заканчивается",[23,809,810,812,813,815,816,818,819,51,821,824,825,827,828,831],{},[30,811,732],{}," Проверьте значение ",[60,814,500],{},". Если оно равно ",[60,817,515],{},", система будет стараться не использовать swap. Увеличьте его до ",[60,820,621],{},[60,822,823],{},"20",". Также проверьте, не переполнен ли swap (",[60,826,442],{}," показывает ",[60,829,830],{},"Swap: 4.0G 0B 4.0G"," — это нормально, если используется 0Б).",[210,833,835],{"id":834},"проблема-производительность-падает-при-активном-использовании-swap","Проблема: Производительность падает при активном использовании swap",[23,837,838,840],{},[30,839,732],{}," Swap на HDD (обычный жёсткий диск) сильно замедляет систему. Рассмотрите возможность:",[42,842,843,846,849,859],{},[45,844,845],{},"Добавления большего объёма ОЗУ (наиболее эффективное решение).",[45,847,848],{},"Использования swap-файла на SSD (гораздо быстрее, но износ накопителя увеличится).",[45,850,851,852,855,856,858],{},"Настройки ",[60,853,854],{},"vm.vfs_cache_pressure"," и других параметров в ",[60,857,578],{}," для оптимизации кэширования.",[45,860,861,862,864,865,867],{},"Увеличения ",[60,863,500],{}," до ",[60,866,515],{},", если swap используется только как аварийный запас.",[210,869,871],{"id":870},"проблема-недостаточно-места-на-диске-для-создания-swap-файла","Проблема: Недостаточно места на диске для создания swap-файла",[23,873,874,876,877,880,881,884,885,62,888,891,892,895],{},[30,875,732],{}," Очистите место, удалив ненужные файлы (",[60,878,879],{},"/var/log",", кэш пакетов, старые ядра). Либо создайте swap-файл на другом разделе/диске, где есть свободное место. В крайнем случае можно создать ",[30,882,883],{},"swap-раздел"," (через ",[60,886,887],{},"fdisk",[60,889,890],{},"gdisk"," и ",[60,893,894],{},"mkswap","), но это потребует переразметки диска и перезагрузки.",[897,898,899],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html 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);}",{"title":109,"searchDepth":658,"depth":658,"links":901},[902,903,904,905,912,913,914,920,921],{"id":20,"depth":658,"text":21},{"id":36,"depth":658,"text":37},{"id":98,"depth":658,"text":99},{"id":191,"depth":658,"text":192,"children":906},[907,910],{"id":212,"depth":908,"text":909},3,"Способ A: С помощью fallocate (быстро, рекомендовано)",{"id":250,"depth":908,"text":911},"Способ B: С помощью dd (медленнее, но универсальнее)",{"id":320,"depth":658,"text":321},{"id":395,"depth":658,"text":396},{"id":450,"depth":658,"text":451,"children":915},[916,918],{"id":454,"depth":908,"text":917},"5.1 Добавление в /etc/fstab",{"id":496,"depth":908,"text":919},"5.2 Настройка vm.swappiness (опционально)",{"id":626,"depth":658,"text":627},{"id":719,"depth":658,"text":720,"children":922},[923,925,927,928,929,930],{"id":723,"depth":908,"text":924},"Проблема: fallocate не работает, файл создаётся с нулевым размером",{"id":742,"depth":908,"text":926},"Проблема: При активации появляется ошибка swapon: /swapfile: swapon failed: Invalid argument",{"id":777,"depth":908,"text":778},{"id":806,"depth":908,"text":807},{"id":834,"depth":908,"text":835},{"id":870,"depth":908,"text":871},null,"2026-02-16 13:06:41","Узнайте, как создать и настроить swap-файл или раздел в Linux. Пошаговая инструкция для Ubuntu, CentOS, Debian с проверенными командами и рекомендациями по размеру.","medium",false,"10-15 мин","md",[939,942,945,948],{"question":940,"answer":941},"Swap-файл или swap-раздел: что выбрать?","Для большинства случаев лучше выбрать swap-файл — он гибче, его можно легко изменить размер или удалить без переразметки диска. Раздел предпочтительнее только для систем с очень высокими требованиями к производительности ввода-вывода.",{"question":943,"answer":944},"Какой размер swap-пространства оптимален?","Общее правило: если у вас 4 ГБ ОЗУ или меньше — размер swap = 2x ОЗУ. При 8-64 ГБ ОЗУ — размер swap = 1x ОЗУ или 0.5x ОЗУ. Для систем с большим объёмом ОЗУ (свыше 64 ГБ) можно обойтись 2-4 ГБ swap или вообще отключить его.",{"question":946,"answer":947},"Можно ли изменить swappiness после создания swap?","Да, параметр `vm.swappiness` можно изменить в любой момент через `sysctl` или временно через `echo`. Изменения через `sysctl` сохраняются после перезагрузки.",{"question":949,"answer":950},"Что делать, если система не использует swap, хотя память заканчивается?","Проверьте значение `vm.swappiness` (по умолчанию 60). Если оно слишком низкое (например, 0), система будет избегать swap. Увеличьте его до 10-30. Также убедитесь, что swap активирован (`swapon --show`).",[952,955,958,961,964],{"name":953,"text":954},"Проверка текущего swap-пространства","Узнайте, есть ли уже активный swap и сколько он занимает. Это поможет понять, нужно ли добавлять новое пространство.",{"name":956,"text":957},"Создание swap-файла","Создайте файл нужного размера с помощью `fallocate` или `dd`. Убедитесь, что на целевом разделе достаточно свободного места.",{"name":959,"text":960},"Настройка прав доступа и превращение в swap","Установите правильные права доступа (только root) и инициализируйте файл как swap-область.",{"name":962,"text":963},"Активация swap-файла","Включите новое swap-пространство в систему с помощью команды `swapon`.",{"name":965,"text":966},"Настройка параметров и постоянное включение","Добавьте запись в `/etc/fstab` для автоматической активации при загрузке. При необходимости скорректируйте `vm.swappiness`.","PT15M",[969,970,971,972,973,974,975,976],"swap файл linux","создание swap раздела","увеличить swap linux","настроить подкачку ubuntu","swap memory linux","оптимальный размер swap","включить swap centos","управление swap space","ru_RU",{},true,"/guides/linux/swap-configuration","linux",[983,984,985],"/guides/linux/memory-usage-monitoring","/guides/linux/sysctl-tuning","/errors/linux/out-of-memory-killer","Гайды по Linux",{"title":5,"description":933},"guides/linux/swap-configuration","Это руководство поможет вам добавить или изменить swap-пространство в Linux, чтобы повысить стабильность системы при нехватке оперативной памяти. Вы научитесь создавать swap-файлы, настраивать их параметры и управлять подкачкой.",[981,160,991,992,993,994,995,996],"администрирование","performance","memory management","tuning","оперативная память","sysadmin","guide","5js0bAYlgEwvfsKkh5fUJBVYmm6GuoJxiHzKgy4gtyQ",{"data":1000,"body":1001},{},{"type":54,"children":1002},[1003],{"type":1004,"tag":23,"props":1005,"children":1006},"element",{},[1007],{"type":373,"value":941},{"data":1009,"body":1010},{},{"type":54,"children":1011},[1012],{"type":1004,"tag":23,"props":1013,"children":1014},{},[1015],{"type":373,"value":944},{"data":1017,"body":1018},{},{"type":54,"children":1019},[1020],{"type":1004,"tag":23,"props":1021,"children":1022},{},[1023,1025,1030,1032,1038,1040,1046,1048,1053],{"type":373,"value":1024},"Да, параметр ",{"type":1004,"tag":60,"props":1026,"children":1028},{"className":1027},[],[1029],{"type":373,"value":500},{"type":373,"value":1031}," можно изменить в любой момент через ",{"type":1004,"tag":60,"props":1033,"children":1035},{"className":1034},[],[1036],{"type":373,"value":1037},"sysctl",{"type":373,"value":1039}," или временно через ",{"type":1004,"tag":60,"props":1041,"children":1043},{"className":1042},[],[1044],{"type":373,"value":1045},"echo",{"type":373,"value":1047},". Изменения через ",{"type":1004,"tag":60,"props":1049,"children":1051},{"className":1050},[],[1052],{"type":373,"value":1037},{"type":373,"value":1054}," сохраняются после перезагрузки.",{"data":1056,"body":1057},{},{"type":54,"children":1058},[1059],{"type":1004,"tag":23,"props":1060,"children":1061},{},[1062,1064,1069,1071,1077],{"type":373,"value":1063},"Проверьте значение ",{"type":1004,"tag":60,"props":1065,"children":1067},{"className":1066},[],[1068],{"type":373,"value":500},{"type":373,"value":1070}," (по умолчанию 60). Если оно слишком низкое (например, 0), система будет избегать swap. Увеличьте его до 10-30. Также убедитесь, что swap активирован (",{"type":1004,"tag":60,"props":1072,"children":1074},{"className":1073},[],[1075],{"type":373,"value":1076},"swapon --show",{"type":373,"value":302},{"data":1079,"body":1080},{},{"type":54,"children":1081},[1082],{"type":1004,"tag":23,"props":1083,"children":1084},{},[1085],{"type":373,"value":954},{"data":1087,"body":1088},{},{"type":54,"children":1089},[1090],{"type":1004,"tag":23,"props":1091,"children":1092},{},[1093,1095,1100,1101,1106],{"type":373,"value":1094},"Создайте файл нужного размера с помощью ",{"type":1004,"tag":60,"props":1096,"children":1098},{"className":1097},[],[1099],{"type":373,"value":78},{"type":373,"value":51},{"type":1004,"tag":60,"props":1102,"children":1104},{"className":1103},[],[1105],{"type":373,"value":86},{"type":373,"value":1107},". Убедитесь, что на целевом разделе достаточно свободного места.",{"data":1109,"body":1110},{},{"type":54,"children":1111},[1112],{"type":1004,"tag":23,"props":1113,"children":1114},{},[1115],{"type":373,"value":960},{"data":1117,"body":1118},{},{"type":54,"children":1119},[1120],{"type":1004,"tag":23,"props":1121,"children":1122},{},[1123,1125,1131],{"type":373,"value":1124},"Включите новое swap-пространство в систему с помощью команды ",{"type":1004,"tag":60,"props":1126,"children":1128},{"className":1127},[],[1129],{"type":373,"value":1130},"swapon",{"type":373,"value":55},{"data":1133,"body":1134},{},{"type":54,"children":1135},[1136],{"type":1004,"tag":23,"props":1137,"children":1138},{},[1139,1141,1146,1148,1153],{"type":373,"value":1140},"Добавьте запись в ",{"type":1004,"tag":60,"props":1142,"children":1144},{"className":1143},[],[1145],{"type":373,"value":385},{"type":373,"value":1147}," для автоматической активации при загрузке. При необходимости скорректируйте ",{"type":1004,"tag":60,"props":1149,"children":1151},{"className":1150},[],[1152],{"type":373,"value":500},{"type":373,"value":55},[1155,1918],{"id":1156,"title":1157,"appliesTo":1158,"author":13,"body":1161,"canonical":931,"code":931,"createdAt":1863,"description":1864,"difficulty":1865,"draft":935,"estimatedTime":936,"extension":937,"faq":1866,"howToSteps":1879,"howToTotalTime":967,"image":931,"keywords":1895,"locale":977,"meta":1905,"navigation":979,"path":983,"platform":981,"related":1906,"section":1910,"seo":1911,"severity":931,"stem":1912,"summary":1913,"tags":1914,"twitterCreator":931,"twitterSite":931,"type":997,"updatedAt":1863,"__hash__":1917},"content_ru/guides/linux/memory-usage-monitoring.md","Мониторинг использования памяти в Linux: полное руководство",[7,1159,1160,11],"CentOS 7+","Debian 10+",{"type":15,"value":1162,"toc":1840},[1163,1165,1168,1170,1172,1217,1221,1227,1237,1244,1250,1253,1278,1282,1290,1294,1297,1306,1334,1338,1343,1405,1421,1425,1430,1442,1445,1451,1454,1466,1477,1481,1487,1499,1502,1508,1511,1531,1537,1554,1556,1560,1567,1571,1611,1622,1626,1631,1674,1683,1685,1688,1729,1744,1746,1750,1758,1762,1783,1787,1807,1811,1826,1830,1837],[18,1164,21],{"id":20},[23,1166,1167],{},"Постоянный мониторинг использования оперативной памяти (RAM) — критически важная задача для администраторов Linux и разработчиков, развертывающих приложения. Неконтролируемое потребление памяти может привести к замедлению системы, активному использованию swap-раздела и в худшем случае — к краху процессов (OOM Killer). Этот гайд поможет вам освоить набор встроенных и сторонних инструментов для быстрой оценки состояния памяти, выявления \"прожорливых\" процессов и принятия обоснованных решений по оптимизации.",[18,1169,37],{"id":36},[23,1171,40],{},[509,1173,1174,1177,1180,1196],{},[45,1175,1176],{},"У вас есть доступ к терминалу Linux (через SSH или локально).",[45,1178,1179],{},"Вы обладаете правами для выполнения команд (обычно достаточно обычного пользователя, но для установки дополнительных пакетов потребуются права sudo).",[45,1181,1182,1183,1185,1186,1185,1189,1185,1192,1195],{},"Большинство инструментов (",[60,1184,133],{},", ",[60,1187,1188],{},"top",[60,1190,1191],{},"vmstat",[60,1193,1194],{},"/proc/meminfo",") уже предустановлены в любом дистрибутиве Linux.",[45,1197,1198,1199,1185,1201,51,1204,1207,1208,1185,1211,1185,1214,302],{},"Для установки ",[60,1200,713],{},[60,1202,1203],{},"nmon",[60,1205,1206],{},"glances"," потребуется менеджер пакетов (",[60,1209,1210],{},"apt",[60,1212,1213],{},"yum",[60,1215,1216],{},"dnf",[18,1218,1220],{"id":1219},"шаг-1-использование-команды-free","Шаг 1: Использование команды free",[23,1222,1223,1224,1226],{},"Команда ",[60,1225,133],{}," — самый быстрый способ получить сводную картину по оперативной памяти и swap-разделу.",[104,1228,1229],{"className":106,"code":137,"language":108,"meta":109,"style":109},[60,1230,1231],{"__ignoreMap":109},[113,1232,1233,1235],{"class":115,"line":116},[113,1234,133],{"class":119},[113,1236,146],{"class":126},[23,1238,1239,1240,1243],{},"Ключ ",[60,1241,1242],{},"-h"," (human-readable) выводит значения в удобных единицах (МБ, ГБ). Пример вывода:",[104,1245,1248],{"className":1246,"code":1247,"language":373},[371],"              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",[60,1249,1247],{"__ignoreMap":109},[23,1251,1252],{},"Обратите внимание на столбцы:",[509,1254,1255,1261,1266,1272],{},[45,1256,1257,1260],{},[30,1258,1259],{},"used",": память, используемая процессами (без учета кэшей).",[45,1262,1263,1265],{},[30,1264,133],{},": полностью неиспользуемая память.",[45,1267,1268,1271],{},[30,1269,1270],{},"buff/cache",": память, занятая буферизацией и кэшированием (ядро может освободить её при необходимости).",[45,1273,1274,1277],{},[30,1275,1276],{},"available",": оценка памяти, доступной для запуска новых процессов без swap. Это самый важный показатель.",[18,1279,1281],{"id":1280},"шаг-2-интерактивный-мониторинг-с-top-и-htop","Шаг 2: Интерактивный мониторинг с top и htop",[23,1283,1284,1285,1287,1288,55],{},"Для наблюдения за динамикой и выявления процессов, потребляющих много памяти, используйте ",[60,1286,1188],{}," или более удобную альтернативу ",[60,1289,713],{},[210,1291,1293],{"id":1292},"использование-top","Использование top",[23,1295,1296],{},"Запустите:",[104,1298,1300],{"className":106,"code":1299,"language":108,"meta":109,"style":109},"top\n",[60,1301,1302],{"__ignoreMap":109},[113,1303,1304],{"class":115,"line":116},[113,1305,1299],{"class":119},[23,1307,1308,1309,1311,1312,1315,1316,1319,1320,1315,1323,1326,1327,1330,1331,55],{},"По умолчанию ",[60,1310,1188],{}," сортирует по загрузке CPU. Чтобы сортировать по памяти, нажмите ",[60,1313,1314],{},"F"," (или ",[60,1317,1318],{},"f","), затем выберите столбец ",[60,1321,1322],{},"%MEM",[60,1324,1325],{},"RES"," для физической памяти) и нажмите ",[60,1328,1329],{},"s"," для сохранения. Для выхода нажмите ",[60,1332,1333],{},"q",[210,1335,1337],{"id":1336},"установка-и-использование-htop","Установка и использование htop",[23,1339,1340,1342],{},[60,1341,713],{}," предоставляет цветное интерфейс с удобным управлением:",[104,1344,1346],{"className":106,"code":1345,"language":108,"meta":109,"style":109},"# Для Ubuntu/Debian:\nsudo apt update && sudo apt install htop\n\n# Для CentOS/RHEL/Fedora:\nsudo yum install htop   # или sudo dnf install htop\n",[60,1347,1348,1354,1378,1383,1389],{"__ignoreMap":109},[113,1349,1350],{"class":115,"line":116},[113,1351,1353],{"class":1352},"sJ8bj","# Для Ubuntu/Debian:\n",[113,1355,1356,1358,1361,1364,1368,1370,1372,1375],{"class":115,"line":658},[113,1357,50],{"class":119},[113,1359,1360],{"class":122}," apt",[113,1362,1363],{"class":122}," update",[113,1365,1367],{"class":1366},"sVt8B"," && ",[113,1369,50],{"class":119},[113,1371,1360],{"class":122},[113,1373,1374],{"class":122}," install",[113,1376,1377],{"class":122}," htop\n",[113,1379,1380],{"class":115,"line":908},[113,1381,1382],{"emptyLinePlaceholder":979},"\n",[113,1384,1386],{"class":115,"line":1385},4,[113,1387,1388],{"class":1352},"# Для CentOS/RHEL/Fedora:\n",[113,1390,1392,1394,1397,1399,1402],{"class":115,"line":1391},5,[113,1393,50],{"class":119},[113,1395,1396],{"class":122}," yum",[113,1398,1374],{"class":122},[113,1400,1401],{"class":122}," htop",[113,1403,1404],{"class":1352},"   # или sudo dnf install htop\n",[23,1406,1407,1408,1410,1411,1414,1415,51,1418,1420],{},"Запустите ",[60,1409,713],{},". Память отображается в виде цветных полос вверху (синий — used, зеленый — buff/cache). Для сортировки по памяти нажмите ",[60,1412,1413],{},"F6"," и выберите ",[60,1416,1417],{},"PERCENT_CPU",[60,1419,1325],{},", или просто кликните на заголовок столбца (если мышь поддерживается). Процессы, которые используют больше всего памяти, будут наверху.",[18,1422,1424],{"id":1423},"шаг-3-статистика-виртуальной-памяти-с-vmstat","Шаг 3: Статистика виртуальной памяти с vmstat",[23,1426,1427,1429],{},[60,1428,1191],{}," дает общую статистику по системе, включая память, swap и операции ввода-вывода.",[104,1431,1433],{"className":106,"code":1432,"language":108,"meta":109,"style":109},"vmstat -s\n",[60,1434,1435],{"__ignoreMap":109},[113,1436,1437,1439],{"class":115,"line":116},[113,1438,1191],{"class":119},[113,1440,1441],{"class":126}," -s\n",[23,1443,1444],{},"Вывод покажет детализированные цифры, например:",[104,1446,1449],{"className":1447,"code":1448,"language":373},[371],"  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",[60,1450,1448],{"__ignoreMap":109},[23,1452,1453],{},"Для непрерывного мониторинга с интервалом в 2 секунды:",[104,1455,1457],{"className":106,"code":1456,"language":108,"meta":109,"style":109},"vmstat 2\n",[60,1458,1459],{"__ignoreMap":109},[113,1460,1461,1463],{"class":115,"line":116},[113,1462,1191],{"class":119},[113,1464,1465],{"class":126}," 2\n",[23,1467,1468,1469,1472,1473,1476],{},"Обращайте внимание на столбцы ",[60,1470,1471],{},"si"," (swap in) и ",[60,1474,1475],{},"so"," (swap out). Если они постоянно отличны от нуля, это признак нехватки оперативной памяти.",[18,1478,1480],{"id":1479},"шаг-4-детальная-информация-из-procmeminfo","Шаг 4: Детальная информация из /proc/meminfo",[23,1482,1483,1484,1486],{},"Файл ",[60,1485,1194],{}," содержит наиболее подробные и низкоуровневые данные о памяти. Это текстовый файл, который можно читать напрямую:",[104,1488,1490],{"className":106,"code":1489,"language":108,"meta":109,"style":109},"cat /proc/meminfo\n",[60,1491,1492],{"__ignoreMap":109},[113,1493,1494,1496],{"class":115,"line":116},[113,1495,543],{"class":119},[113,1497,1498],{"class":122}," /proc/meminfo\n",[23,1500,1501],{},"Пример вывода (сокращен):",[104,1503,1506],{"className":1504,"code":1505,"language":373},[371],"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",[60,1507,1505],{"__ignoreMap":109},[23,1509,1510],{},"Здесь:",[509,1512,1513,1519,1525],{},[45,1514,1515,1518],{},[30,1516,1517],{},"MemAvailable"," — наиболее точная оценка доступной памяти (учитывает кэши и буферы, которые можно быстро освободить).",[45,1520,1521,1524],{},[30,1522,1523],{},"Cached"," — память, используемая кэшем страниц (для ускорения чтения диска).",[45,1526,1527,1530],{},[30,1528,1529],{},"Buffers"," — память для буферизации блочных устройств (например, дисков).",[23,1532,1533,1534,134],{},"Для фильтрации конкретных полей можно использовать ",[60,1535,1536],{},"grep",[104,1538,1540],{"className":106,"code":1539,"language":108,"meta":109,"style":109},"grep -E 'MemTotal|MemFree|MemAvailable|Buffers|Cached' /proc/meminfo\n",[60,1541,1542],{"__ignoreMap":109},[113,1543,1544,1546,1549,1552],{"class":115,"line":116},[113,1545,1536],{"class":119},[113,1547,1548],{"class":126}," -E",[113,1550,1551],{"class":122}," 'MemTotal|MemFree|MemAvailable|Buffers|Cached'",[113,1553,1498],{"class":122},[389,1555],{},[18,1557,1559],{"id":1558},"шаг-5-расширенные-утилиты-nmon-и-glances","Шаг 5: Расширенные утилиты nmon и glances",[23,1561,1562,1563,891,1565,55],{},"Для комплексного мониторинга системы, включая память, CPU, диски и сеть, удобны утилиты ",[60,1564,1203],{},[60,1566,1206],{},[210,1568,1570],{"id":1569},"установка-nmon","Установка nmon",[104,1572,1574],{"className":106,"code":1573,"language":108,"meta":109,"style":109},"# Ubuntu/Debian:\nsudo apt install nmon\n\n# CentOS/RHEL:\nsudo yum install nmon\n",[60,1575,1576,1581,1592,1596,1601],{"__ignoreMap":109},[113,1577,1578],{"class":115,"line":116},[113,1579,1580],{"class":1352},"# Ubuntu/Debian:\n",[113,1582,1583,1585,1587,1589],{"class":115,"line":658},[113,1584,50],{"class":119},[113,1586,1360],{"class":122},[113,1588,1374],{"class":122},[113,1590,1591],{"class":122}," nmon\n",[113,1593,1594],{"class":115,"line":908},[113,1595,1382],{"emptyLinePlaceholder":979},[113,1597,1598],{"class":115,"line":1385},[113,1599,1600],{"class":1352},"# CentOS/RHEL:\n",[113,1602,1603,1605,1607,1609],{"class":115,"line":1391},[113,1604,50],{"class":119},[113,1606,1396],{"class":122},[113,1608,1374],{"class":122},[113,1610,1591],{"class":122},[23,1612,1407,1613,1615,1616,1619,1620,55],{},[60,1614,1203],{},". Нажмите ",[60,1617,1618],{},"m"," для переключения на экран памяти. Там вы увидите подробную разбивку по типам памяти, а также графики в реальном времени. Для выхода нажмите ",[60,1621,1333],{},[210,1623,1625],{"id":1624},"установка-glances","Установка glances",[23,1627,1628,1630],{},[60,1629,1206],{}," — кросс-платформенный мониторинг в текстовом режиме с возможностью веб-интерфейса.",[104,1632,1634],{"className":106,"code":1633,"language":108,"meta":109,"style":109},"# Установка через pip (рекомендуется):\npip3 install glances\n\n# Или через менеджер пакетов (может быть устаревшая версия):\nsudo apt install glances   # Ubuntu/Debian\n",[60,1635,1636,1641,1651,1655,1660],{"__ignoreMap":109},[113,1637,1638],{"class":115,"line":116},[113,1639,1640],{"class":1352},"# Установка через pip (рекомендуется):\n",[113,1642,1643,1646,1648],{"class":115,"line":658},[113,1644,1645],{"class":119},"pip3",[113,1647,1374],{"class":122},[113,1649,1650],{"class":122}," glances\n",[113,1652,1653],{"class":115,"line":908},[113,1654,1382],{"emptyLinePlaceholder":979},[113,1656,1657],{"class":115,"line":1385},[113,1658,1659],{"class":1352},"# Или через менеджер пакетов (может быть устаревшая версия):\n",[113,1661,1662,1664,1666,1668,1671],{"class":115,"line":1391},[113,1663,50],{"class":119},[113,1665,1360],{"class":122},[113,1667,1374],{"class":122},[113,1669,1670],{"class":122}," glances",[113,1672,1673],{"class":1352},"   # Ubuntu/Debian\n",[23,1675,1407,1676,1678,1679,1682],{},[60,1677,1206],{},". По умолчанию отображаются все метрики, включая память (вверху слева). Нажмите ",[60,1680,1681],{},"h"," для справки по управлению.",[18,1684,627],{"id":626},[23,1686,1687],{},"После выполнения шагов вы должны:",[42,1689,1690,1703,1711,1722],{},[45,1691,1692,1693,51,1695,1697,1698,1315,1700,1702],{},"Увидеть в выводе ",[60,1694,442],{},[60,1696,1194],{}," актуальные значения памяти. Поле ",[60,1699,1276],{},[60,1701,1517],{},") должно быть разумным (не близким к нулю).",[45,1704,1705,1706,62,1708,1710],{},"В ",[60,1707,1188],{},[60,1709,713],{}," убедиться, что нет процессов, постоянно потребляющих больше памяти, чем ожидалось.",[45,1712,1713,1714,1716,1717,891,1719,1721],{},"При использовании ",[60,1715,1191],{}," проверить, что ",[60,1718,1471],{},[60,1720,1475],{}," близки к нулю (если swap активен постоянно — это тревожный знак).",[45,1723,1705,1724,62,1726,1728],{},[60,1725,1203],{},[60,1727,1206],{}," оценить общую картину и тенденции.",[23,1730,1731,1732,1734,1735,62,1737,1739,1740,1185,1742,302],{},"Если память заканчивается, вы увидите рост ",[60,1733,1259],{}," и падение ",[60,1736,133],{},[60,1738,1276],{},", а также увеличение активности swap (",[60,1741,1471],{},[60,1743,1475],{},[18,1745,720],{"id":719},[210,1747,1749],{"id":1748},"_1-ошибка-command-not-found-для-htopnmonglances","1. Ошибка \"command not found\" для htop/nmon/glances",[23,1751,1752,1754,1755,1757],{},[30,1753,732],{}," Установите недостающий пакет через менеджер пакетов вашего дистрибутива (см. шаги выше). Убедитесь, что вы используете ",[60,1756,50],{}," для установки.",[210,1759,1761],{"id":1760},"_2-недостаточно-прав-для-просмотра-информации-о-процессах","2. Недостаточно прав для просмотра информации о процессах",[23,1763,1764,1766,1767,1185,1769,1185,1771,1774,1775,62,1777,1779,1780,1782],{},[30,1765,732],{}," Обычно команды ",[60,1768,133],{},[60,1770,1191],{},[60,1772,1773],{},"cat /proc/meminfo"," доступны всем. Но для просмотра всех процессов в ",[60,1776,1188],{},[60,1778,713],{}," (особенно чужих) может потребоваться запуск с ",[60,1781,50],{},". Однако для общего обзора памяти это не обязательно.",[210,1784,1786],{"id":1785},"_3-неправильная-интерпретация-вывода-free-путаница-с-cachedbuffers","3. Неправильная интерпретация вывода free (путаница с cached/buffers)",[23,1788,1789,1791,1792,891,1794,1796,1797,1799,1800,1802,1803,1806],{},[30,1790,732],{}," Не ориентируйтесь на ",[60,1793,133],{},[60,1795,1259],{}," в старых версиях ",[60,1798,133],{},". Всегда смотрите на ",[60,1801,1276],{}," (или вычисляйте: ",[60,1804,1805],{},"free + buffers + cached","). Ядро Linux активно использует свободную память для кэширования, что ускоряет систему, и освободит её при необходимости.",[210,1808,1810],{"id":1809},"_4-высокое-использование-памяти-но-нет-процессов-потребителей","4. Высокое использование памяти, но нет процессов-потребителей",[23,1812,1813,1815,1816,1818,1819,1185,1822,1825],{},[30,1814,732],{}," Возможно, память используется ядром (например, для slab-аллокаторов). Проверьте в ",[60,1817,1194],{}," поля ",[60,1820,1821],{},"Slab",[60,1823,1824],{},"KernelStack",". Также может быть утечка в драйвере или модуле ядра. В таком случае поможет перезагрузка или обновление системы.",[210,1827,1829],{"id":1828},"_5-утилиты-показывают-разную-информацию","5. Утилиты показывают разную информацию",[23,1831,1832,1834,1835,55],{},[30,1833,732],{}," Разные инструменты могут использовать разные единицы измерения (кБ vs. KiB) или по-разному считать кэши. Всегда сверяйтесь с \"истинным источником\" — ",[60,1836,1194],{},[897,1838,1839],{},"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":109,"searchDepth":658,"depth":658,"links":1841},[1842,1843,1844,1845,1849,1850,1851,1855,1856],{"id":20,"depth":658,"text":21},{"id":36,"depth":658,"text":37},{"id":1219,"depth":658,"text":1220},{"id":1280,"depth":658,"text":1281,"children":1846},[1847,1848],{"id":1292,"depth":908,"text":1293},{"id":1336,"depth":908,"text":1337},{"id":1423,"depth":658,"text":1424},{"id":1479,"depth":658,"text":1480},{"id":1558,"depth":658,"text":1559,"children":1852},[1853,1854],{"id":1569,"depth":908,"text":1570},{"id":1624,"depth":908,"text":1625},{"id":626,"depth":658,"text":627},{"id":719,"depth":658,"text":720,"children":1857},[1858,1859,1860,1861,1862],{"id":1748,"depth":908,"text":1749},{"id":1760,"depth":908,"text":1761},{"id":1785,"depth":908,"text":1786},{"id":1809,"depth":908,"text":1810},{"id":1828,"depth":908,"text":1829},"2026-02-15 00:11:07","Узнайте, как эффективно отслеживать использование оперативной памяти в Linux с помощью встроенных команд и утилит. Пошаговая инструкция для быстрой диагностики и предотвращения проблем.","easy",[1867,1870,1873,1876],{"answer":1868,"question":1869},"Используйте команду `free -h`, которая покажет общую, использованную, свободную и кэшированную память в удобочитаемом формате.","Как быстро узнать, сколько свободной памяти в Linux?",{"answer":1871,"question":1872},"Cached — это память, используемая кэшем страниц ядра для ускорения доступа к диску. Buffers — это временное хранилище для блочных устройств. Оба типа памяти могут быть освобождены, если процессу потребуется больше RAM.","В чем разница между cached и buffers в выводе free?",{"answer":1874,"question":1875},"Используйте утилиты `top` или `htop`. В `top` нажмите `f` и выберите `MEM` для сортировки по памяти. `htop` по умолчанию показывает использование памяти цветными полосами.","Как continuously следить за использованием памяти в реальном времени?",{"answer":1877,"question":1878},"`/proc/meminfo` содержит детальную информацию о памяти, но в сыром виде. Для удобного просмотра используйте `cat /proc/meminfo` или утилиты вроде `smem`, которые показывают память на процесс.","Какая утилита дает наиболее подробную информацию о памяти?",[1880,1883,1886,1889,1892],{"name":1881,"text":1882},"Используйте команду free","Выполните `free -h` в терминале, чтобы увидеть общую информацию об использовании оперативной и подкачки.",{"name":1884,"text":1885},"Мониторьте в реальном времени с top/htop","Запустите `top` или установите `htop` (`sudo apt install htop`), чтобы интерактивно следить за процессами, потребляющими память.",{"name":1887,"text":1888},"Примените vmstat для статистики","Команда `vmstat -s` покажет сводную статистику по памяти, включая swap и ошибки.",{"name":1890,"text":1891},"Изучите /proc/meminfo","Откройте файл `cat /proc/meminfo` для получения детальных данных о памяти, включая MemTotal, MemFree, Buffers, Cached и др.",{"name":1893,"text":1894},"Установите расширенные утилиты (опционально)","Для более продвинутого мониторинга установите `nmon` или `glances`, которые предоставляют графики и детализацию по процессам.",[1896,1897,1898,1899,1900,1194,1901,1902,1903,1904],"мониторинг памяти linux","как посмотреть память в linux","команда free linux","top команда linux память","vmstat память","htop установка","nmon мониторинг","проверка памяти linux","использование памяти процессом linux",{},[1907,1908,1909],"/guides/linux/disk-usage-monitoring","/guides/linux/process-monitoring","/errors/linux/out-of-memory-error","Гайды Linux",{"title":1157,"description":1864},"guides/linux/memory-usage-monitoring","Это руководство познакомит вас с основными и продвинутыми методами мониторинга памяти в Linux. Вы научитесь использовать команды free, top, vmstat и другие, чтобы контролировать потребление ресурсов и оперативно реагировать на нехватку памяти.",[981,1915,1916,133,1188,1191,713,1203],"memory","мониторинг","DHhACTijZGsBk3k77pxV4kmuYl1H9STa8Am9QCpFUqQ",{"id":1919,"title":1920,"appliesTo":1921,"author":13,"body":1925,"canonical":931,"code":2447,"createdAt":2448,"description":2449,"difficulty":934,"draft":935,"estimatedTime":936,"extension":937,"faq":2450,"howToSteps":2460,"howToTotalTime":967,"image":931,"keywords":2473,"locale":977,"meta":2481,"navigation":979,"path":985,"platform":981,"related":2482,"section":2485,"seo":2486,"severity":2487,"stem":2488,"summary":2489,"tags":2490,"twitterCreator":931,"twitterSite":931,"type":2496,"updatedAt":2448,"__hash__":2497},"content_ru/errors/linux/out-of-memory-killer.md","OOM Killer в Linux: причины сбоев и быстрая настройка",[1922,8,1923,1924],"Ubuntu 20.04/22.04/24.04","CentOS/RHEL 8+","Любые дистрибутивы с ядром Linux 3.0+",{"type":15,"value":1926,"toc":2435},[1927,1931,1934,1945,1949,1982,1986,1990,1993,1998,2026,2031,2053,2066,2077,2084,2102,2107,2120,2125,2163,2172,2190,2195,2210,2218,2220,2224,2227,2232,2276,2284,2308,2318,2351,2360,2364,2370,2375,2391,2396,2415,2421,2425,2432],[18,1928,1930],{"id":1929},"что-означает-ошибка-oom","Что означает ошибка OOM",[23,1932,1933],{},"OOM (Out Of Memory) Killer — это встроенный механизм ядра Linux, который срабатывает, когда система полностью исчерпывает оперативную память (RAM) и пространство подкачки (swap). Вместо того чтобы позволить серверу зависнуть намертво, ядро выбирает и принудительно завершает один или несколько процессов, освобождая ресурсы.",[23,1935,1936,1937,1940,1941,1944],{},"В логах это обычно выглядит как строка: ",[60,1938,1939],{},"Out of memory: Kill process \u003CPID> (\u003Cимя_процесса>) score \u003Cчисло> or sacrifice child",". Процесс не просто падает — его убивает сигнал ",[60,1942,1943],{},"SIGKILL"," (9), который невозможно перехватить. Поэтому в логах самого приложения вы не увидите стандартных сообщений об ошибках, только внезапную остановку.",[18,1946,1948],{"id":1947},"причины-возникновения","Причины возникновения",[42,1950,1951,1957,1963,1969],{},[45,1952,1953,1956],{},[30,1954,1955],{},"Утечка памяти (Memory Leak):"," Приложение постепенно захватывает всё больше RAM и не освобождает её. Со временем свободной памяти не остаётся.",[45,1958,1959,1962],{},[30,1960,1961],{},"Некорректная конфигурация сервера:"," Под веб-сервер или БД выделено слишком мало ресурсов, либо в конфигурационных файлах заданы завышенные лимиты на воркеры или буферы.",[45,1964,1965,1968],{},[30,1966,1967],{},"Отсутствие или малый объём Swap:"," Если физическая память заканчивается, а область подкачки не настроена, ядро мгновенно запускает OOM Killer без попытки использовать диск.",[45,1970,1971,1974,1975,51,1978,1981],{},[30,1972,1973],{},"Внезапный всплеск нагрузки:"," Резкий наплыв трафика, запуск тяжёлых скриптов или компиляция программ (например, ",[60,1976,1977],{},"npm install",[60,1979,1980],{},"make",") на слабом VPS.",[18,1983,1985],{"id":1984},"способы-решения","Способы решения",[210,1987,1989],{"id":1988},"способ-1-анализ-логов-и-выявление-жертвы","Способ 1: Анализ логов и выявление жертвы",[23,1991,1992],{},"Прежде чем менять настройки, убедитесь, что виновником действительно является OOM Killer, и узнайте, какой процесс пострадал.",[42,1994,1995],{},[45,1996,1997],{},"Откройте терминал и выполните команду для просмотра сообщений ядра:",[104,1999,2001],{"className":106,"code":2000,"language":108,"meta":109,"style":109},"sudo dmesg -T | grep -i \"out of memory\"\n",[60,2002,2003],{"__ignoreMap":109},[113,2004,2005,2007,2010,2013,2017,2020,2023],{"class":115,"line":116},[113,2006,50],{"class":119},[113,2008,2009],{"class":122}," dmesg",[113,2011,2012],{"class":126}," -T",[113,2014,2016],{"class":2015},"szBVR"," |",[113,2018,2019],{"class":119}," grep",[113,2021,2022],{"class":126}," -i",[113,2024,2025],{"class":122}," \"out of memory\"\n",[42,2027,2028],{"start":658},[45,2029,2030],{},"Если вывод пустой, проверьте системный журнал:",[104,2032,2034],{"className":106,"code":2033,"language":108,"meta":109,"style":109},"journalctl -k | grep -i oom\n",[60,2035,2036],{"__ignoreMap":109},[113,2037,2038,2041,2044,2046,2048,2050],{"class":115,"line":116},[113,2039,2040],{"class":119},"journalctl",[113,2042,2043],{"class":126}," -k",[113,2045,2016],{"class":2015},[113,2047,2019],{"class":119},[113,2049,2022],{"class":126},[113,2051,2052],{"class":122}," oom\n",[42,2054,2055],{"start":908},[45,2056,2057,2058,2061,2062,2065],{},"Найдите строки с ",[60,2059,2060],{},"Killed process [PID] (process_name)",". Обратите внимание на значение ",[60,2063,2064],{},"oom_score"," — чем оно выше, тем больше шансов, что процесс будет убит в следующий раз.",[304,2067,2068],{},[23,2069,2070,2071,51,2073,2076],{},"💡 Совет: Если процесс убивается регулярно, добавьте мониторинг памяти (например, ",[60,2072,713],{},[60,2074,2075],{},"free -m","), чтобы отследить момент скачка потребления.",[210,2078,2080,2081],{"id":2079},"способ-2-настройка-приоритетов-через-oom_score_adj","Способ 2: Настройка приоритетов через ",[60,2082,2083],{},"oom_score_adj",[23,2085,2086,2087,864,2090,2093,2094,2096,2097,2099,2100,55],{},"Ядро Linux оценивает каждый процесс по шкале от ",[60,2088,2089],{},"-1000",[60,2091,2092],{},"1000",". Значение ",[60,2095,2089],{}," полностью защищает процесс от OOM Killer, а ",[60,2098,2092],{}," делает его первой жертвой. По умолчанию значение равно ",[60,2101,515],{},[42,2103,2104],{},[45,2105,2106],{},"Узнайте PID критичного процесса (например, вашей БД):",[104,2108,2110],{"className":106,"code":2109,"language":108,"meta":109,"style":109},"pidof mysqld\n",[60,2111,2112],{"__ignoreMap":109},[113,2113,2114,2117],{"class":115,"line":116},[113,2115,2116],{"class":119},"pidof",[113,2118,2119],{"class":122}," mysqld\n",[42,2121,2122],{"start":658},[45,2123,2124],{},"Измените его приоритет, записав новое значение в специальный файл:",[104,2126,2128],{"className":106,"code":2127,"language":108,"meta":109,"style":109},"echo -500 | sudo tee /proc/\u003CPID>/oom_score_adj\n",[60,2129,2130],{"__ignoreMap":109},[113,2131,2132,2134,2137,2139,2142,2145,2148,2151,2154,2157,2160],{"class":115,"line":116},[113,2133,1045],{"class":126},[113,2135,2136],{"class":126}," -500",[113,2138,2016],{"class":2015},[113,2140,2141],{"class":119}," sudo",[113,2143,2144],{"class":122}," tee",[113,2146,2147],{"class":122}," /proc/",[113,2149,2150],{"class":2015},"\u003C",[113,2152,2153],{"class":122},"PI",[113,2155,2156],{"class":1366},"D",[113,2158,2159],{"class":2015},">",[113,2161,2162],{"class":122},"/oom_score_adj\n",[42,2164,2165],{"start":908},[45,2166,2167,2168,2171],{},"Чтобы настройка сохранялась после перезагрузки, добавьте правило в ",[60,2169,2170],{},"systemd"," для вашего сервиса. Откройте оверрайд конфигурации:",[104,2173,2175],{"className":106,"code":2174,"language":108,"meta":109,"style":109},"sudo systemctl edit mysqld.service\n",[60,2176,2177],{"__ignoreMap":109},[113,2178,2179,2181,2184,2187],{"class":115,"line":116},[113,2180,50],{"class":119},[113,2182,2183],{"class":122}," systemctl",[113,2185,2186],{"class":122}," edit",[113,2188,2189],{"class":122}," mysqld.service\n",[42,2191,2192],{"start":1385},[45,2193,2194],{},"Вставьте следующие строки и сохраните файл:",[104,2196,2198],{"className":470,"code":2197,"language":472,"meta":109,"style":109},"[Service]\nOOMScoreAdjust=-500\n",[60,2199,2200,2205],{"__ignoreMap":109},[113,2201,2202],{"class":115,"line":116},[113,2203,2204],{},"[Service]\n",[113,2206,2207],{"class":115,"line":658},[113,2208,2209],{},"OOMScoreAdjust=-500\n",[42,2211,2212],{"start":1391},[45,2213,2214,2215,55],{},"Перезагрузите конфигурацию демона: ",[60,2216,2217],{},"sudo systemctl daemon-reload",[389,2219],{},[210,2221,2223],{"id":2222},"способ-3-оптимизация-swap-и-параметров-ядра","Способ 3: Оптимизация Swap и параметров ядра",[23,2225,2226],{},"Если сервер регулярно упирается в лимиты RAM, добавление области подкачки даст ядру больше времени на реакцию и снизит частоту срабатываний OOM Killer.",[42,2228,2229],{},[45,2230,2231],{},"Создайте файл подкачки размером 2 ГБ:",[104,2233,2235],{"className":106,"code":2234,"language":108,"meta":109,"style":109},"sudo fallocate -l 2G /swapfile\nsudo chmod 600 /swapfile\nsudo mkswap /swapfile\nsudo swapon /swapfile\n",[60,2236,2237,2250,2260,2268],{"__ignoreMap":109},[113,2238,2239,2241,2243,2245,2248],{"class":115,"line":116},[113,2240,50],{"class":119},[113,2242,228],{"class":122},[113,2244,231],{"class":126},[113,2246,2247],{"class":122}," 2G",[113,2249,237],{"class":122},[113,2251,2252,2254,2256,2258],{"class":115,"line":658},[113,2253,50],{"class":119},[113,2255,336],{"class":122},[113,2257,339],{"class":126},[113,2259,237],{"class":122},[113,2261,2262,2264,2266],{"class":115,"line":908},[113,2263,50],{"class":119},[113,2265,362],{"class":122},[113,2267,237],{"class":122},[113,2269,2270,2272,2274],{"class":115,"line":1385},[113,2271,50],{"class":119},[113,2273,123],{"class":122},[113,2275,237],{"class":122},[42,2277,2278],{"start":658},[45,2279,2280,2281,2283],{},"Добавьте его в ",[60,2282,385],{},", чтобы он активировался при загрузке:",[104,2285,2287],{"className":106,"code":2286,"language":108,"meta":109,"style":109},"echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab\n",[60,2288,2289],{"__ignoreMap":109},[113,2290,2291,2293,2296,2298,2300,2302,2305],{"class":115,"line":116},[113,2292,1045],{"class":126},[113,2294,2295],{"class":122}," '/swapfile none swap sw 0 0'",[113,2297,2016],{"class":2015},[113,2299,2141],{"class":119},[113,2301,2144],{"class":122},[113,2303,2304],{"class":126}," -a",[113,2306,2307],{"class":122}," /etc/fstab\n",[42,2309,2310],{"start":908},[45,2311,2312,2313,2093,2315,2317],{},"Настройте агрессивность использования swap через параметр ",[60,2314,500],{},[60,2316,621],{}," означает, что система будет активно использовать RAM, и обращаться к диску только при острой необходимости:",[104,2319,2321],{"className":106,"code":2320,"language":108,"meta":109,"style":109},"sudo sysctl vm.swappiness=10\necho 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf\n",[60,2322,2323,2333],{"__ignoreMap":109},[113,2324,2325,2327,2329,2331],{"class":115,"line":116},[113,2326,50],{"class":119},[113,2328,563],{"class":122},[113,2330,566],{"class":122},[113,2332,569],{"class":126},[113,2334,2335,2337,2340,2342,2344,2346,2348],{"class":115,"line":658},[113,2336,1045],{"class":126},[113,2338,2339],{"class":122}," 'vm.swappiness=10'",[113,2341,2016],{"class":2015},[113,2343,2141],{"class":119},[113,2345,2144],{"class":122},[113,2347,2304],{"class":126},[113,2349,2350],{"class":122}," /etc/sysctl.conf\n",[304,2352,2353],{},[23,2354,2355,2356,2359],{},"⚠️ Важно: Не отключайте OOM Killer полностью через ",[60,2357,2358],{},"vm.panic_on_oom=1",". Это заставит ядро перезагружать сервер при нехватке памяти, что приведёт к простою и возможной потере данных.",[210,2361,2363],{"id":2362},"способ-4-ограничение-потребления-через-cgroups-или-systemd","Способ 4: Ограничение потребления через cgroups или systemd",[23,2365,2366,2367,2369],{},"Лучший способ предотвратить срабатывание OOM Killer — заранее задать жёсткие лимиты для сервисов. ",[60,2368,2170],{}," позволяет сделать это без сложных настроек cgroups вручную.",[42,2371,2372],{},[45,2373,2374],{},"Откройте конфигурацию сервиса, который потребляет слишком много памяти:",[104,2376,2378],{"className":106,"code":2377,"language":108,"meta":109,"style":109},"sudo systemctl edit apache2.service\n",[60,2379,2380],{"__ignoreMap":109},[113,2381,2382,2384,2386,2388],{"class":115,"line":116},[113,2383,50],{"class":119},[113,2385,2183],{"class":122},[113,2387,2186],{"class":122},[113,2389,2390],{"class":122}," apache2.service\n",[42,2392,2393],{"start":658},[45,2394,2395],{},"Добавьте директивы ограничения памяти:",[104,2397,2399],{"className":470,"code":2398,"language":472,"meta":109,"style":109},"[Service]\nMemoryMax=1G\nMemorySwapMax=500M\n",[60,2400,2401,2405,2410],{"__ignoreMap":109},[113,2402,2403],{"class":115,"line":116},[113,2404,2204],{},[113,2406,2407],{"class":115,"line":658},[113,2408,2409],{},"MemoryMax=1G\n",[113,2411,2412],{"class":115,"line":908},[113,2413,2414],{},"MemorySwapMax=500M\n",[23,2416,2417,2418,55],{},"Это не даст процессу превысить 1 ГБ ОЗУ и 500 МБ подкачки. При достижении лимита сервис будет корректно остановлен или перезагружен, а не убьёт соседние процессы.\n3. Примените изменения: ",[60,2419,2420],{},"sudo systemctl restart apache2",[18,2422,2424],{"id":2423},"профилактика","Профилактика",[23,2426,2427,2428,2431],{},"Регулярно обновляйте пакеты сервера и приложения: разработчики часто исправляют утечки памяти в новых версиях. Настройте автоматический перезапуск сервисов при сбоях (",[60,2429,2430],{},"Restart=always"," в юнитах systemd), чтобы критичные приложения поднимались сразу после аварийной остановки. Используйте мониторинг (Prometheus, Netdata или Zabbix) с алертами при достижении 85% использования RAM. Это даст вам запас времени для ручного вмешательства до того, как ядро Linux начнёт самостоятельно \"чистить\" процессы.",[897,2433,2434],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}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":109,"searchDepth":658,"depth":658,"links":2436},[2437,2438,2439,2446],{"id":1929,"depth":658,"text":1930},{"id":1947,"depth":658,"text":1948},{"id":1984,"depth":658,"text":1985,"children":2440},[2441,2442,2444,2445],{"id":1988,"depth":908,"text":1989},{"id":2079,"depth":908,"text":2443},"Способ 2: Настройка приоритетов через oom_score_adj",{"id":2222,"depth":908,"text":2223},{"id":2362,"depth":908,"text":2363},{"id":2423,"depth":658,"text":2424},"OOM","2026-04-06 17:26:50","Сервер зависает или процессы завершаются без предупреждения? Разберитесь, как работает OOM Killer в Linux, настройте приоритеты и предотвратите сбои.",[2451,2454,2457],{"question":2452,"answer":2453},"Почему процесс завершается без сообщения об ошибке?","Ядро Linux активирует OOM Killer, когда свободная память и swap исчерпаны. Процесс принудительно убивается сигналом SIGKILL, поэтому в логах приложения вы не увидите стандартного traceback.",{"question":2455,"answer":2456},"Можно ли полностью отключить OOM Killer?","Технически да, через `vm.panic_on_oom=1` или `vm.overcommit_memory=2`, но это приведёт к панике ядра или зависанию системы при нехватке памяти. Лучше настраивать приоритеты.",{"question":2458,"answer":2459},"Как узнать, какой процесс убил OOM Killer?","Выполните команду `dmesg -T | grep -i oom` или `journalctl -k | grep -i oom`. В выводе будет указана причина и PID убитого процесса.",[2461,2464,2467,2470],{"name":2462,"text":2463},"Проверьте системные логи","Выполните `sudo dmesg -T | grep -i oom` или `journalctl -k | grep -i oom`, чтобы найти PID и имя убитого процесса, а также причину срабатывания механизма.",{"name":2465,"text":2466},"Настройте приоритет процессов","Используйте `echo -500 | sudo tee /proc/\u003CPID>/oom_score_adj` или добавьте `OOMScoreAdjust=-500` в юнит systemd, чтобы защитить критичные сервисы.",{"name":2468,"text":2469},"Добавьте или увеличьте Swap-файл","Создайте файл подкачки командой `sudo fallocate -l 2G /swapfile` и активируйте его через `sudo swapon /swapfile`, чтобы дать системе буфер при нехватке RAM.",{"name":2471,"text":2472},"Ограничьте потребление памяти сервисом","Добавьте директивы `MemoryMax` и `MemorySwapMax` в конфигурацию systemd вашего сервиса, чтобы предотвратить монопольный захват всей оперативной памяти.",[2474,2475,2476,2477,2478,2479,2480],"oom killer linux","out of memory kill process","как отключить oom killer","процесс убит памятью linux","настройка oom_score_adj","linux killed process memory","оптимизация памяти сервера linux",{},[2483,2484,980],"/guides/linux/monitor-ram-usage","/errors/linux/high-memory-usage","Ошибки Linux",{"title":1920,"description":2449},"high","errors/linux/out-of-memory-killer","Разбираем механизм OOM Killer в Linux: почему система аварийно завершает процессы и как настроить приоритеты памяти, чтобы защитить критичные сервисы от внезапных остановок.",[2491,2492,996,2493,2494,2495],"Linux","Память","OOM Killer","оптимизация","troubleshooting","error","UuvoUaOGCbZ0bjI0SsYK4DyHczmiNRjFG7qHzO7TOzU"]