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