[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/errors/linux/out-of-memory-killer":3,"mdc--6q8xmz-key":645,"mdc--anjm0x-key":656,"mdc--oug5rg-key":679,"mdc-kuvahi-key":703,"mdc-hqdb0m-key":726,"mdc--w5icxn-key":751,"mdc-2uejxa-key":776,"related-/guides/linux/monitor-ram-usage,/errors/linux/high-memory-usage,/guides/linux/swap-configuration":801},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":582,"code":583,"createdAt":584,"description":585,"difficulty":586,"draft":587,"estimatedTime":588,"extension":589,"faq":590,"howToSteps":600,"howToTotalTime":613,"image":582,"keywords":614,"locale":622,"meta":623,"navigation":624,"path":625,"platform":626,"related":627,"section":631,"seo":632,"severity":633,"stem":634,"summary":635,"tags":636,"twitterCreator":582,"twitterSite":582,"type":643,"updatedAt":584,"__hash__":644},"content_ru/errors/linux/out-of-memory-killer.md","OOM Killer в Linux: причины сбоев и быстрая настройка",[7,8,9,10],"Ubuntu 20.04/22.04/24.04","Debian 11+","CentOS/RHEL 8+","Любые дистрибутивы с ядром Linux 3.0+","FixPedia Team",{"type":13,"value":14,"toc":570},"minimark",[15,20,24,36,40,77,81,86,89,94,133,139,161,175,188,195,216,221,234,239,279,288,306,312,329,338,341,345,348,353,404,413,437,449,485,494,498,504,509,525,530,549,555,559,566],[16,17,19],"h2",{"id":18},"что-означает-ошибка-oom","Что означает ошибка OOM",[21,22,23],"p",{},"OOM (Out Of Memory) Killer — это встроенный механизм ядра Linux, который срабатывает, когда система полностью исчерпывает оперативную память (RAM) и пространство подкачки (swap). Вместо того чтобы позволить серверу зависнуть намертво, ядро выбирает и принудительно завершает один или несколько процессов, освобождая ресурсы.",[21,25,26,27,31,32,35],{},"В логах это обычно выглядит как строка: ",[28,29,30],"code",{},"Out of memory: Kill process \u003CPID> (\u003Cимя_процесса>) score \u003Cчисло> or sacrifice child",". Процесс не просто падает — его убивает сигнал ",[28,33,34],{},"SIGKILL"," (9), который невозможно перехватить. Поэтому в логах самого приложения вы не увидите стандартных сообщений об ошибках, только внезапную остановку.",[16,37,39],{"id":38},"причины-возникновения","Причины возникновения",[41,42,43,51,57,63],"ol",{},[44,45,46,50],"li",{},[47,48,49],"strong",{},"Утечка памяти (Memory Leak):"," Приложение постепенно захватывает всё больше RAM и не освобождает её. Со временем свободной памяти не остаётся.",[44,52,53,56],{},[47,54,55],{},"Некорректная конфигурация сервера:"," Под веб-сервер или БД выделено слишком мало ресурсов, либо в конфигурационных файлах заданы завышенные лимиты на воркеры или буферы.",[44,58,59,62],{},[47,60,61],{},"Отсутствие или малый объём Swap:"," Если физическая память заканчивается, а область подкачки не настроена, ядро мгновенно запускает OOM Killer без попытки использовать диск.",[44,64,65,68,69,72,73,76],{},[47,66,67],{},"Внезапный всплеск нагрузки:"," Резкий наплыв трафика, запуск тяжёлых скриптов или компиляция программ (например, ",[28,70,71],{},"npm install"," или ",[28,74,75],{},"make",") на слабом VPS.",[16,78,80],{"id":79},"способы-решения","Способы решения",[82,83,85],"h3",{"id":84},"способ-1-анализ-логов-и-выявление-жертвы","Способ 1: Анализ логов и выявление жертвы",[21,87,88],{},"Прежде чем менять настройки, убедитесь, что виновником действительно является OOM Killer, и узнайте, какой процесс пострадал.",[41,90,91],{},[44,92,93],{},"Откройте терминал и выполните команду для просмотра сообщений ядра:",[95,96,101],"pre",{"className":97,"code":98,"language":99,"meta":100,"style":100},"language-bash shiki shiki-themes github-light github-dark","sudo dmesg -T | grep -i \"out of memory\"\n","bash","",[28,102,103],{"__ignoreMap":100},[104,105,108,112,116,120,124,127,130],"span",{"class":106,"line":107},"line",1,[104,109,111],{"class":110},"sScJk","sudo",[104,113,115],{"class":114},"sZZnC"," dmesg",[104,117,119],{"class":118},"sj4cs"," -T",[104,121,123],{"class":122},"szBVR"," |",[104,125,126],{"class":110}," grep",[104,128,129],{"class":118}," -i",[104,131,132],{"class":114}," \"out of memory\"\n",[41,134,136],{"start":135},2,[44,137,138],{},"Если вывод пустой, проверьте системный журнал:",[95,140,142],{"className":97,"code":141,"language":99,"meta":100,"style":100},"journalctl -k | grep -i oom\n",[28,143,144],{"__ignoreMap":100},[104,145,146,149,152,154,156,158],{"class":106,"line":107},[104,147,148],{"class":110},"journalctl",[104,150,151],{"class":118}," -k",[104,153,123],{"class":122},[104,155,126],{"class":110},[104,157,129],{"class":118},[104,159,160],{"class":114}," oom\n",[41,162,164],{"start":163},3,[44,165,166,167,170,171,174],{},"Найдите строки с ",[28,168,169],{},"Killed process [PID] (process_name)",". Обратите внимание на значение ",[28,172,173],{},"oom_score"," — чем оно выше, тем больше шансов, что процесс будет убит в следующий раз.",[176,177,178],"blockquote",{},[21,179,180,181,72,184,187],{},"💡 Совет: Если процесс убивается регулярно, добавьте мониторинг памяти (например, ",[28,182,183],{},"htop",[28,185,186],{},"free -m","), чтобы отследить момент скачка потребления.",[82,189,191,192],{"id":190},"способ-2-настройка-приоритетов-через-oom_score_adj","Способ 2: Настройка приоритетов через ",[28,193,194],{},"oom_score_adj",[21,196,197,198,201,202,205,206,208,209,211,212,215],{},"Ядро Linux оценивает каждый процесс по шкале от ",[28,199,200],{},"-1000"," до ",[28,203,204],{},"1000",". Значение ",[28,207,200],{}," полностью защищает процесс от OOM Killer, а ",[28,210,204],{}," делает его первой жертвой. По умолчанию значение равно ",[28,213,214],{},"0",".",[41,217,218],{},[44,219,220],{},"Узнайте PID критичного процесса (например, вашей БД):",[95,222,224],{"className":97,"code":223,"language":99,"meta":100,"style":100},"pidof mysqld\n",[28,225,226],{"__ignoreMap":100},[104,227,228,231],{"class":106,"line":107},[104,229,230],{"class":110},"pidof",[104,232,233],{"class":114}," mysqld\n",[41,235,236],{"start":135},[44,237,238],{},"Измените его приоритет, записав новое значение в специальный файл:",[95,240,242],{"className":97,"code":241,"language":99,"meta":100,"style":100},"echo -500 | sudo tee /proc/\u003CPID>/oom_score_adj\n",[28,243,244],{"__ignoreMap":100},[104,245,246,249,252,254,257,260,263,266,269,273,276],{"class":106,"line":107},[104,247,248],{"class":118},"echo",[104,250,251],{"class":118}," -500",[104,253,123],{"class":122},[104,255,256],{"class":110}," sudo",[104,258,259],{"class":114}," tee",[104,261,262],{"class":114}," /proc/",[104,264,265],{"class":122},"\u003C",[104,267,268],{"class":114},"PI",[104,270,272],{"class":271},"sVt8B","D",[104,274,275],{"class":122},">",[104,277,278],{"class":114},"/oom_score_adj\n",[41,280,281],{"start":163},[44,282,283,284,287],{},"Чтобы настройка сохранялась после перезагрузки, добавьте правило в ",[28,285,286],{},"systemd"," для вашего сервиса. Откройте оверрайд конфигурации:",[95,289,291],{"className":97,"code":290,"language":99,"meta":100,"style":100},"sudo systemctl edit mysqld.service\n",[28,292,293],{"__ignoreMap":100},[104,294,295,297,300,303],{"class":106,"line":107},[104,296,111],{"class":110},[104,298,299],{"class":114}," systemctl",[104,301,302],{"class":114}," edit",[104,304,305],{"class":114}," mysqld.service\n",[41,307,309],{"start":308},4,[44,310,311],{},"Вставьте следующие строки и сохраните файл:",[95,313,317],{"className":314,"code":315,"language":316,"meta":100,"style":100},"language-ini shiki shiki-themes github-light github-dark","[Service]\nOOMScoreAdjust=-500\n","ini",[28,318,319,324],{"__ignoreMap":100},[104,320,321],{"class":106,"line":107},[104,322,323],{},"[Service]\n",[104,325,326],{"class":106,"line":135},[104,327,328],{},"OOMScoreAdjust=-500\n",[41,330,332],{"start":331},5,[44,333,334,335,215],{},"Перезагрузите конфигурацию демона: ",[28,336,337],{},"sudo systemctl daemon-reload",[339,340],"in-article-ad",{},[82,342,344],{"id":343},"способ-3-оптимизация-swap-и-параметров-ядра","Способ 3: Оптимизация Swap и параметров ядра",[21,346,347],{},"Если сервер регулярно упирается в лимиты RAM, добавление области подкачки даст ядру больше времени на реакцию и снизит частоту срабатываний OOM Killer.",[41,349,350],{},[44,351,352],{},"Создайте файл подкачки размером 2 ГБ:",[95,354,356],{"className":97,"code":355,"language":99,"meta":100,"style":100},"sudo fallocate -l 2G /swapfile\nsudo chmod 600 /swapfile\nsudo mkswap /swapfile\nsudo swapon /swapfile\n",[28,357,358,374,386,395],{"__ignoreMap":100},[104,359,360,362,365,368,371],{"class":106,"line":107},[104,361,111],{"class":110},[104,363,364],{"class":114}," fallocate",[104,366,367],{"class":118}," -l",[104,369,370],{"class":114}," 2G",[104,372,373],{"class":114}," /swapfile\n",[104,375,376,378,381,384],{"class":106,"line":135},[104,377,111],{"class":110},[104,379,380],{"class":114}," chmod",[104,382,383],{"class":118}," 600",[104,385,373],{"class":114},[104,387,388,390,393],{"class":106,"line":163},[104,389,111],{"class":110},[104,391,392],{"class":114}," mkswap",[104,394,373],{"class":114},[104,396,397,399,402],{"class":106,"line":308},[104,398,111],{"class":110},[104,400,401],{"class":114}," swapon",[104,403,373],{"class":114},[41,405,406],{"start":135},[44,407,408,409,412],{},"Добавьте его в ",[28,410,411],{},"/etc/fstab",", чтобы он активировался при загрузке:",[95,414,416],{"className":97,"code":415,"language":99,"meta":100,"style":100},"echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab\n",[28,417,418],{"__ignoreMap":100},[104,419,420,422,425,427,429,431,434],{"class":106,"line":107},[104,421,248],{"class":118},[104,423,424],{"class":114}," '/swapfile none swap sw 0 0'",[104,426,123],{"class":122},[104,428,256],{"class":110},[104,430,259],{"class":114},[104,432,433],{"class":118}," -a",[104,435,436],{"class":114}," /etc/fstab\n",[41,438,439],{"start":163},[44,440,441,442,205,445,448],{},"Настройте агрессивность использования swap через параметр ",[28,443,444],{},"vm.swappiness",[28,446,447],{},"10"," означает, что система будет активно использовать RAM, и обращаться к диску только при острой необходимости:",[95,450,452],{"className":97,"code":451,"language":99,"meta":100,"style":100},"sudo sysctl vm.swappiness=10\necho 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf\n",[28,453,454,467],{"__ignoreMap":100},[104,455,456,458,461,464],{"class":106,"line":107},[104,457,111],{"class":110},[104,459,460],{"class":114}," sysctl",[104,462,463],{"class":114}," vm.swappiness=",[104,465,466],{"class":118},"10\n",[104,468,469,471,474,476,478,480,482],{"class":106,"line":135},[104,470,248],{"class":118},[104,472,473],{"class":114}," 'vm.swappiness=10'",[104,475,123],{"class":122},[104,477,256],{"class":110},[104,479,259],{"class":114},[104,481,433],{"class":118},[104,483,484],{"class":114}," /etc/sysctl.conf\n",[176,486,487],{},[21,488,489,490,493],{},"⚠️ Важно: Не отключайте OOM Killer полностью через ",[28,491,492],{},"vm.panic_on_oom=1",". Это заставит ядро перезагружать сервер при нехватке памяти, что приведёт к простою и возможной потере данных.",[82,495,497],{"id":496},"способ-4-ограничение-потребления-через-cgroups-или-systemd","Способ 4: Ограничение потребления через cgroups или systemd",[21,499,500,501,503],{},"Лучший способ предотвратить срабатывание OOM Killer — заранее задать жёсткие лимиты для сервисов. ",[28,502,286],{}," позволяет сделать это без сложных настроек cgroups вручную.",[41,505,506],{},[44,507,508],{},"Откройте конфигурацию сервиса, который потребляет слишком много памяти:",[95,510,512],{"className":97,"code":511,"language":99,"meta":100,"style":100},"sudo systemctl edit apache2.service\n",[28,513,514],{"__ignoreMap":100},[104,515,516,518,520,522],{"class":106,"line":107},[104,517,111],{"class":110},[104,519,299],{"class":114},[104,521,302],{"class":114},[104,523,524],{"class":114}," apache2.service\n",[41,526,527],{"start":135},[44,528,529],{},"Добавьте директивы ограничения памяти:",[95,531,533],{"className":314,"code":532,"language":316,"meta":100,"style":100},"[Service]\nMemoryMax=1G\nMemorySwapMax=500M\n",[28,534,535,539,544],{"__ignoreMap":100},[104,536,537],{"class":106,"line":107},[104,538,323],{},[104,540,541],{"class":106,"line":135},[104,542,543],{},"MemoryMax=1G\n",[104,545,546],{"class":106,"line":163},[104,547,548],{},"MemorySwapMax=500M\n",[21,550,551,552,215],{},"Это не даст процессу превысить 1 ГБ ОЗУ и 500 МБ подкачки. При достижении лимита сервис будет корректно остановлен или перезагружен, а не убьёт соседние процессы.\n3. Примените изменения: ",[28,553,554],{},"sudo systemctl restart apache2",[16,556,558],{"id":557},"профилактика","Профилактика",[21,560,561,562,565],{},"Регулярно обновляйте пакеты сервера и приложения: разработчики часто исправляют утечки памяти в новых версиях. Настройте автоматический перезапуск сервисов при сбоях (",[28,563,564],{},"Restart=always"," в юнитах systemd), чтобы критичные приложения поднимались сразу после аварийной остановки. Используйте мониторинг (Prometheus, Netdata или Zabbix) с алертами при достижении 85% использования RAM. Это даст вам запас времени для ручного вмешательства до того, как ядро Linux начнёт самостоятельно \"чистить\" процессы.",[567,568,569],"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 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":100,"searchDepth":135,"depth":135,"links":571},[572,573,574,581],{"id":18,"depth":135,"text":19},{"id":38,"depth":135,"text":39},{"id":79,"depth":135,"text":80,"children":575},[576,577,579,580],{"id":84,"depth":163,"text":85},{"id":190,"depth":163,"text":578},"Способ 2: Настройка приоритетов через oom_score_adj",{"id":343,"depth":163,"text":344},{"id":496,"depth":163,"text":497},{"id":557,"depth":135,"text":558},null,"OOM","2026-04-06 17:26:50","Сервер зависает или процессы завершаются без предупреждения? Разберитесь, как работает OOM Killer в Linux, настройте приоритеты и предотвратите сбои.","medium",false,"10-15 мин","md",[591,594,597],{"question":592,"answer":593},"Почему процесс завершается без сообщения об ошибке?","Ядро Linux активирует OOM Killer, когда свободная память и swap исчерпаны. Процесс принудительно убивается сигналом SIGKILL, поэтому в логах приложения вы не увидите стандартного traceback.",{"question":595,"answer":596},"Можно ли полностью отключить OOM Killer?","Технически да, через `vm.panic_on_oom=1` или `vm.overcommit_memory=2`, но это приведёт к панике ядра или зависанию системы при нехватке памяти. Лучше настраивать приоритеты.",{"question":598,"answer":599},"Как узнать, какой процесс убил OOM Killer?","Выполните команду `dmesg -T | grep -i oom` или `journalctl -k | grep -i oom`. В выводе будет указана причина и PID убитого процесса.",[601,604,607,610],{"name":602,"text":603},"Проверьте системные логи","Выполните `sudo dmesg -T | grep -i oom` или `journalctl -k | grep -i oom`, чтобы найти PID и имя убитого процесса, а также причину срабатывания механизма.",{"name":605,"text":606},"Настройте приоритет процессов","Используйте `echo -500 | sudo tee /proc/\u003CPID>/oom_score_adj` или добавьте `OOMScoreAdjust=-500` в юнит systemd, чтобы защитить критичные сервисы.",{"name":608,"text":609},"Добавьте или увеличьте Swap-файл","Создайте файл подкачки командой `sudo fallocate -l 2G /swapfile` и активируйте его через `sudo swapon /swapfile`, чтобы дать системе буфер при нехватке RAM.",{"name":611,"text":612},"Ограничьте потребление памяти сервисом","Добавьте директивы `MemoryMax` и `MemorySwapMax` в конфигурацию systemd вашего сервиса, чтобы предотвратить монопольный захват всей оперативной памяти.","PT15M",[615,616,617,618,619,620,621],"oom killer linux","out of memory kill process","как отключить oom killer","процесс убит памятью linux","настройка oom_score_adj","linux killed process memory","оптимизация памяти сервера linux","ru_RU",{},true,"/errors/linux/out-of-memory-killer","linux",[628,629,630],"/guides/linux/monitor-ram-usage","/errors/linux/high-memory-usage","/guides/linux/swap-configuration","Ошибки Linux",{"title":5,"description":585},"high","errors/linux/out-of-memory-killer","Разбираем механизм OOM Killer в Linux: почему система аварийно завершает процессы и как настроить приоритеты памяти, чтобы защитить критичные сервисы от внезапных остановок.",[637,638,639,640,641,642],"Linux","Память","sysadmin","OOM Killer","оптимизация","troubleshooting","error","UuvoUaOGCbZ0bjI0SsYK4DyHczmiNRjFG7qHzO7TOzU",{"data":646,"body":647},{},{"type":648,"children":649},"root",[650],{"type":651,"tag":21,"props":652,"children":653},"element",{},[654],{"type":655,"value":593},"text",{"data":657,"body":658},{},{"type":648,"children":659},[660],{"type":651,"tag":21,"props":661,"children":662},{},[663,665,670,671,677],{"type":655,"value":664},"Технически да, через ",{"type":651,"tag":28,"props":666,"children":668},{"className":667},[],[669],{"type":655,"value":492},{"type":655,"value":72},{"type":651,"tag":28,"props":672,"children":674},{"className":673},[],[675],{"type":655,"value":676},"vm.overcommit_memory=2",{"type":655,"value":678},", но это приведёт к панике ядра или зависанию системы при нехватке памяти. Лучше настраивать приоритеты.",{"data":680,"body":681},{},{"type":648,"children":682},[683],{"type":651,"tag":21,"props":684,"children":685},{},[686,688,694,695,701],{"type":655,"value":687},"Выполните команду ",{"type":651,"tag":28,"props":689,"children":691},{"className":690},[],[692],{"type":655,"value":693},"dmesg -T | grep -i oom",{"type":655,"value":72},{"type":651,"tag":28,"props":696,"children":698},{"className":697},[],[699],{"type":655,"value":700},"journalctl -k | grep -i oom",{"type":655,"value":702},". В выводе будет указана причина и PID убитого процесса.",{"data":704,"body":705},{},{"type":648,"children":706},[707],{"type":651,"tag":21,"props":708,"children":709},{},[710,712,718,719,724],{"type":655,"value":711},"Выполните ",{"type":651,"tag":28,"props":713,"children":715},{"className":714},[],[716],{"type":655,"value":717},"sudo dmesg -T | grep -i oom",{"type":655,"value":72},{"type":651,"tag":28,"props":720,"children":722},{"className":721},[],[723],{"type":655,"value":700},{"type":655,"value":725},", чтобы найти PID и имя убитого процесса, а также причину срабатывания механизма.",{"data":727,"body":728},{},{"type":648,"children":729},[730],{"type":651,"tag":21,"props":731,"children":732},{},[733,735,741,743,749],{"type":655,"value":734},"Используйте ",{"type":651,"tag":28,"props":736,"children":738},{"className":737},[],[739],{"type":655,"value":740},"echo -500 | sudo tee /proc/\u003CPID>/oom_score_adj",{"type":655,"value":742}," или добавьте ",{"type":651,"tag":28,"props":744,"children":746},{"className":745},[],[747],{"type":655,"value":748},"OOMScoreAdjust=-500",{"type":655,"value":750}," в юнит systemd, чтобы защитить критичные сервисы.",{"data":752,"body":753},{},{"type":648,"children":754},[755],{"type":651,"tag":21,"props":756,"children":757},{},[758,760,766,768,774],{"type":655,"value":759},"Создайте файл подкачки командой ",{"type":651,"tag":28,"props":761,"children":763},{"className":762},[],[764],{"type":655,"value":765},"sudo fallocate -l 2G /swapfile",{"type":655,"value":767}," и активируйте его через ",{"type":651,"tag":28,"props":769,"children":771},{"className":770},[],[772],{"type":655,"value":773},"sudo swapon /swapfile",{"type":655,"value":775},", чтобы дать системе буфер при нехватке RAM.",{"data":777,"body":778},{},{"type":648,"children":779},[780],{"type":651,"tag":21,"props":781,"children":782},{},[783,785,791,793,799],{"type":655,"value":784},"Добавьте директивы ",{"type":651,"tag":28,"props":786,"children":788},{"className":787},[],[789],{"type":655,"value":790},"MemoryMax",{"type":655,"value":792}," и ",{"type":651,"tag":28,"props":794,"children":796},{"className":795},[],[797],{"type":655,"value":798},"MemorySwapMax",{"type":655,"value":800}," в конфигурацию systemd вашего сервиса, чтобы предотвратить монопольный захват всей оперативной памяти.",[802],{"id":803,"title":804,"appliesTo":805,"author":11,"body":811,"canonical":582,"code":582,"createdAt":1681,"description":1682,"difficulty":586,"draft":587,"estimatedTime":588,"extension":589,"faq":1683,"howToSteps":1696,"howToTotalTime":613,"image":582,"keywords":1712,"locale":622,"meta":1721,"navigation":624,"path":630,"platform":626,"related":1722,"section":1725,"seo":1726,"severity":582,"stem":1727,"summary":1728,"tags":1729,"twitterCreator":582,"twitterSite":582,"type":1735,"updatedAt":1681,"__hash__":1736},"content_ru/guides/linux/swap-configuration.md","Настройка swap-пространства в Linux: подробное руководство",[806,8,807,808,809,810],"Ubuntu 20.04+","CentOS 8+","RHEL 8+","Fedora 35+","Any modern Linux distribution",{"type":13,"value":812,"toc":1651},[813,817,820,827,831,834,879,882,886,889,903,910,922,937,940,953,962,964,968,984,991,1009,1019,1026,1056,1074,1086,1088,1092,1095,1110,1116,1119,1132,1135,1142,1151,1153,1155,1157,1161,1164,1177,1180,1192,1201,1210,1212,1216,1222,1232,1241,1244,1253,1256,1263,1269,1289,1294,1307,1312,1327,1340,1349,1352,1366,1378,1380,1384,1469,1471,1475,1482,1494,1501,1506,1529,1533,1537,1558,1562,1586,1590,1595,1621,1625,1648],[16,814,816],{"id":815},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,818,819],{},"Swap-пространство (area of swap, подкачка) — это область на диске, которая используется как расширение оперативной памяти (ОЗУ). Когда физической памяти становится недостаточно, ядро Linux перемещает неактивные страницы памяти в swap, освобождая ОЗУ для более важных процессов. Это помогает избежать аварийного завершения программ из-за нехватки памяти (OOM killer) и повышает общую стабильность системы, особенно на серверах с небольшим объёмом ОЗУ или на десктопах, где одновременно работают многие тяжёлые приложения.",[21,821,822,823,826],{},"В этом гайде вы научитесь создавать и настраивать ",[47,824,825],{},"swap-файл"," — наиболее гибкий и современный способ добавления swap-пространства в Linux. Вы сможете контролировать его размер, включать/отключать без перезагрузки и настраивать поведение системы при использовании подкачки.",[16,828,830],{"id":829},"требования-подготовка","Требования / Подготовка",[21,832,833],{},"Перед началом убедитесь, что:",[41,835,836,843,853,859],{},[44,837,838,839,72,841,215],{},"У вас есть доступ к системе с правами ",[47,840,111],{},[47,842,648],{},[44,844,845,846,72,849,852],{},"На целевом диске (обычно ",[28,847,848],{},"/",[28,850,851],{},"/home",") достаточно свободного места. Рекомендуемый размер swap: от 2 ГБ до размера вашей ОЗУ (см. FAQ).",[44,854,855,856,215],{},"Вы знаете путь к разделу, на котором будет размещаться файл. Проверить можно командой ",[28,857,858],{},"df -h",[44,860,861,862,865,866,869,870,873,874,876,877,215],{},"Установлены базовые утилиты: ",[28,863,864],{},"fallocate"," (обычно в пакете ",[28,867,868],{},"util-linux",") или ",[28,871,872],{},"dd",". Если ",[28,875,864],{}," недоступен, используйте ",[28,878,872],{},[880,881],"hr",{},[16,883,885],{"id":884},"шаг-1-проверка-текущего-swap-пространства","Шаг 1: Проверка текущего swap-пространства",[21,887,888],{},"Сначала давайте посмотрим, есть ли уже активный swap и сколько он занимает. Выполните команду:",[95,890,892],{"className":97,"code":891,"language":99,"meta":100,"style":100},"sudo swapon --show\n",[28,893,894],{"__ignoreMap":100},[104,895,896,898,900],{"class":106,"line":107},[104,897,111],{"class":110},[104,899,401],{"class":114},[104,901,902],{"class":118}," --show\n",[21,904,905,906,909],{},"Или используйте утилиту ",[28,907,908],{},"free",":",[95,911,913],{"className":97,"code":912,"language":99,"meta":100,"style":100},"free -h\n",[28,914,915],{"__ignoreMap":100},[104,916,917,919],{"class":106,"line":107},[104,918,908],{"class":110},[104,920,921],{"class":118}," -h\n",[21,923,924,925,928,929,932,933,936],{},"В выводе ищите строку ",[28,926,927],{},"Swap:",". Если она показывает ",[28,930,931],{},"0B"," или раздел ",[28,934,935],{},"swap"," отсутствует в списке, значит, активного swap нет, и вам нужно его создать.",[21,938,939],{},"Также можно проверить, есть ли уже swap-раздел в системе, с помощью:",[95,941,943],{"className":97,"code":942,"language":99,"meta":100,"style":100},"lsblk -f\n",[28,944,945],{"__ignoreMap":100},[104,946,947,950],{"class":106,"line":107},[104,948,949],{"class":110},"lsblk",[104,951,952],{"class":118}," -f\n",[21,954,955,956,958,959,215],{},"Ищите тип ",[28,957,935],{}," в колонке ",[28,960,961],{},"FSTYPE",[880,963],{},[16,965,967],{"id":966},"шаг-2-создание-swap-файла","Шаг 2: Создание swap-файла",[21,969,970,971,973,974,72,977,980,981,215],{},"Мы создадим swap-файл в корневом каталоге (",[28,972,848],{},"). Вы можете выбрать другое место, например ",[28,975,976],{},"/swapfile",[28,978,979],{},"/var/swap",". Размер укажем в гигабайтах. Для примера создадим файл размером ",[47,982,983],{},"4 ГБ",[82,985,987,988,990],{"id":986},"способ-a-с-помощью-fallocate-быстро-рекомендовано","Способ A: С помощью ",[28,989,864],{}," (быстро, рекомендовано)",[95,992,994],{"className":97,"code":993,"language":99,"meta":100,"style":100},"sudo fallocate -l 4G /swapfile\n",[28,995,996],{"__ignoreMap":100},[104,997,998,1000,1002,1004,1007],{"class":106,"line":107},[104,999,111],{"class":110},[104,1001,364],{"class":114},[104,1003,367],{"class":118},[104,1005,1006],{"class":114}," 4G",[104,1008,373],{"class":114},[21,1010,1011,1012,1014,1015,1018],{},"Эта команда мгновенно создаёт файл заданного размера, резервируя место на диске. Если ",[28,1013,864],{}," не работает на вашей файловой системе (например, на некоторых старых версиях ext4 с включённым ",[28,1016,1017],{},"-o discard","), используйте Способ B.",[82,1020,1022,1023,1025],{"id":1021},"способ-b-с-помощью-dd-медленнее-но-универсальнее","Способ B: С помощью ",[28,1024,872],{}," (медленнее, но универсальнее)",[95,1027,1029],{"className":97,"code":1028,"language":99,"meta":100,"style":100},"sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress\n",[28,1030,1031],{"__ignoreMap":100},[104,1032,1033,1035,1038,1041,1044,1047,1050,1053],{"class":106,"line":107},[104,1034,111],{"class":110},[104,1036,1037],{"class":114}," dd",[104,1039,1040],{"class":114}," if=/dev/zero",[104,1042,1043],{"class":114}," of=/swapfile",[104,1045,1046],{"class":114}," bs=1M",[104,1048,1049],{"class":114}," count=",[104,1051,1052],{"class":118},"4096",[104,1054,1055],{"class":114}," status=progress\n",[21,1057,1058,1059,1062,1063,1066,1067,1070,1071,1073],{},"Здесь ",[28,1060,1061],{},"bs=1M"," — блок в 1 мегабайт, ",[28,1064,1065],{},"count=4096"," — количество блоков (4096 * 1М = 4ГБ). ",[28,1068,1069],{},"status=progress"," показывает ход выполнения (доступно в современных версиях ",[28,1072,872],{},").",[176,1075,1076],{},[21,1077,1078,1079,1082,1083,1085],{},"⚠️ ",[47,1080,1081],{},"Важно:"," Убедитесь, что на целевом разделе достаточно места. Команда ",[28,1084,858],{}," покажет свободное пространство.",[880,1087],{},[16,1089,1091],{"id":1090},"шаг-3-настройка-прав-дочения-и-превращение-в-swap","Шаг 3: Настройка прав дочения и превращение в swap",[21,1093,1094],{},"По умолчанию созданный файл доступен на чтение и запись всем. Это небезопасно для swap-файла. Установим правильные права:",[95,1096,1098],{"className":97,"code":1097,"language":99,"meta":100,"style":100},"sudo chmod 600 /swapfile\n",[28,1099,1100],{"__ignoreMap":100},[104,1101,1102,1104,1106,1108],{"class":106,"line":107},[104,1103,111],{"class":110},[104,1105,380],{"class":114},[104,1107,383],{"class":118},[104,1109,373],{"class":114},[21,1111,1112,1113,1115],{},"Теперь только пользователь ",[28,1114,648],{}," может читать и записывать в этот файл.",[21,1117,1118],{},"Далее инициализируем файл как swap-область:",[95,1120,1122],{"className":97,"code":1121,"language":99,"meta":100,"style":100},"sudo mkswap /swapfile\n",[28,1123,1124],{"__ignoreMap":100},[104,1125,1126,1128,1130],{"class":106,"line":107},[104,1127,111],{"class":110},[104,1129,392],{"class":114},[104,1131,373],{"class":114},[21,1133,1134],{},"Вывод команды будет примерно таким:",[95,1136,1140],{"className":1137,"code":1139,"language":655},[1138],"language-text","Setting up swapspace version 1, size = 4 GiB (4294967296 bytes)\nno label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n",[28,1141,1139],{"__ignoreMap":100},[21,1143,1144,1145,1148,1149,215],{},"Запомните или сохраните ",[47,1146,1147],{},"UUID"," (уникальный идентификатор) — он понадобится для настройки ",[28,1150,411],{},[880,1152],{},[339,1154],{},[880,1156],{},[16,1158,1160],{"id":1159},"шаг-4-активация-swap-файла","Шаг 4: Активация swap-файла",[21,1162,1163],{},"Теперь включим новое swap-пространство в текущей сессии:",[95,1165,1167],{"className":97,"code":1166,"language":99,"meta":100,"style":100},"sudo swapon /swapfile\n",[28,1168,1169],{"__ignoreMap":100},[104,1170,1171,1173,1175],{"class":106,"line":107},[104,1172,111],{"class":110},[104,1174,401],{"class":114},[104,1176,373],{"class":114},[21,1178,1179],{},"Снова проверьте его наличие:",[95,1181,1182],{"className":97,"code":891,"language":99,"meta":100,"style":100},[28,1183,1184],{"__ignoreMap":100},[104,1185,1186,1188,1190],{"class":106,"line":107},[104,1187,111],{"class":110},[104,1189,401],{"class":114},[104,1191,902],{"class":118},[21,1193,1194,1195,1197,1198,215],{},"Вы должны увидеть ваш ",[28,1196,976],{}," в списке с указанием размера и типа ",[28,1199,1200],{},"file",[21,1202,1203,1204,1207,1208,215],{},"Также команда ",[28,1205,1206],{},"free -h"," покажет общий объём swap в строке ",[28,1209,927],{},[880,1211],{},[16,1213,1215],{"id":1214},"шаг-5-настройка-параметров-и-постоянное-включение","Шаг 5: Настройка параметров и постоянное включение",[82,1217,1219,1220],{"id":1218},"_51-добавление-в-etcfstab","5.1 Добавление в ",[28,1221,411],{},[21,1223,1224,1225,1227,1228,1231],{},"Чтобы swap активировался автоматически при каждой загрузке системы, добавьте запись в файл ",[28,1226,411],{},". Откройте его для редактирования (например, ",[28,1229,1230],{},"sudo nano /etc/fstab",") и добавьте строку:",[95,1233,1235],{"className":314,"code":1234,"language":316,"meta":100,"style":100},"/swapfile none swap sw 0 0\n",[28,1236,1237],{"__ignoreMap":100},[104,1238,1239],{"class":106,"line":107},[104,1240,1234],{},[21,1242,1243],{},"Если вы хотите использовать UUID (более надёжный способ, особенно если путь к файлу может измениться), укажите:",[95,1245,1247],{"className":314,"code":1246,"language":316,"meta":100,"style":100},"UUID=ваш-uuid-из-шага-3 none swap sw 0 0\n",[28,1248,1249],{"__ignoreMap":100},[104,1250,1251],{"class":106,"line":107},[104,1252,1246],{},[21,1254,1255],{},"Сохраните файл и закройте редактор.",[82,1257,1259,1260,1262],{"id":1258},"_52-настройка-vmswappiness-опционально","5.2 Настройка ",[28,1261,444],{}," (опционально)",[21,1264,1265,1266,1268],{},"Параметр ",[28,1267,444],{}," контролирует, насколько агрессивно ядро будет использовать swap. Значение от 0 до 100.",[1270,1271,1272,1277,1283],"ul",{},[44,1273,1274,1276],{},[28,1275,214],{}," — ядро будет избегать swap, пока не будет полностью исчерпана ОЗУ.",[44,1278,1279,1282],{},[28,1280,1281],{},"100"," — ядро будет активно использовать swap.",[44,1284,1285,1286,215],{},"По умолчанию в большинстве дистрибутивов — ",[28,1287,1288],{},"60",[21,1290,1291],{},[47,1292,1293],{},"Проверить текущее значение:",[95,1295,1297],{"className":97,"code":1296,"language":99,"meta":100,"style":100},"cat /proc/sys/vm/swappiness\n",[28,1298,1299],{"__ignoreMap":100},[104,1300,1301,1304],{"class":106,"line":107},[104,1302,1303],{"class":110},"cat",[104,1305,1306],{"class":114}," /proc/sys/vm/swappiness\n",[21,1308,1309],{},[47,1310,1311],{},"Временно изменить (до перезагрузки):",[95,1313,1315],{"className":97,"code":1314,"language":99,"meta":100,"style":100},"sudo sysctl vm.swappiness=10\n",[28,1316,1317],{"__ignoreMap":100},[104,1318,1319,1321,1323,1325],{"class":106,"line":107},[104,1320,111],{"class":110},[104,1322,460],{"class":114},[104,1324,463],{"class":114},[104,1326,466],{"class":118},[21,1328,1329,1332,1333,1336,1337,909],{},[47,1330,1331],{},"Постоянно изменить:"," добавьте строку в ",[28,1334,1335],{},"/etc/sysctl.conf"," или создайте отдельный конфиг в ",[28,1338,1339],{},"/etc/sysctl.d/99-swappiness.conf",[95,1341,1343],{"className":314,"code":1342,"language":316,"meta":100,"style":100},"vm.swappiness=10\n",[28,1344,1345],{"__ignoreMap":100},[104,1346,1347],{"class":106,"line":107},[104,1348,1342],{},[21,1350,1351],{},"Примените изменения без перезагрузки:",[95,1353,1355],{"className":97,"code":1354,"language":99,"meta":100,"style":100},"sudo sysctl -p\n",[28,1356,1357],{"__ignoreMap":100},[104,1358,1359,1361,1363],{"class":106,"line":107},[104,1360,111],{"class":110},[104,1362,460],{"class":114},[104,1364,1365],{"class":118}," -p\n",[21,1367,1368,1369,1372,1373,1375,1376,215],{},"Для большинства десктопных систем рекомендуемое значение — ",[28,1370,1371],{},"10-30",". Для серверов с большим объёмом ОЗУ можно оставить ",[28,1374,1288],{}," или даже понизить до ",[28,1377,447],{},[880,1379],{},[16,1381,1383],{"id":1382},"проверка-результата","Проверка результата",[41,1385,1386,1396,1419,1441],{},[44,1387,1388,1391,1392,1395],{},[47,1389,1390],{},"Перезагрузите систему"," (",[28,1393,1394],{},"sudo reboot","), чтобы убедиться, что swap активируется автоматически.",[44,1397,1398,1399,1418],{},"После загрузки выполните:\n",[95,1400,1402],{"className":97,"code":1401,"language":99,"meta":100,"style":100},"sudo swapon --show\nfree -h\n",[28,1403,1404,1412],{"__ignoreMap":100},[104,1405,1406,1408,1410],{"class":106,"line":107},[104,1407,111],{"class":110},[104,1409,401],{"class":114},[104,1411,902],{"class":118},[104,1413,1414,1416],{"class":106,"line":135},[104,1415,908],{"class":110},[104,1417,921],{"class":118},"\nВ выводе должен присутствовать ваш swap-файл.",[44,1420,1421,1422,1424,1425,1440],{},"Проверьте, что запись в ",[28,1423,411],{}," не вызывает ошибок при загрузке. Можно выполнить:\n",[95,1426,1428],{"className":97,"code":1427,"language":99,"meta":100,"style":100},"sudo mount -a\n",[28,1429,1430],{"__ignoreMap":100},[104,1431,1432,1434,1437],{"class":106,"line":107},[104,1433,111],{"class":110},[104,1435,1436],{"class":114}," mount",[104,1438,1439],{"class":118}," -a\n","\nЕсли команда завершится без ошибок, конфигурация верна.",[44,1442,1443,1444,1465,1466,1468],{},"Следите за использованием swap в реальном времени:\n",[95,1445,1447],{"className":97,"code":1446,"language":99,"meta":100,"style":100},"watch -n 2 free -h\n",[28,1448,1449],{"__ignoreMap":100},[104,1450,1451,1454,1457,1460,1463],{"class":106,"line":107},[104,1452,1453],{"class":110},"watch",[104,1455,1456],{"class":118}," -n",[104,1458,1459],{"class":118}," 2",[104,1461,1462],{"class":114}," free",[104,1464,921],{"class":118},"\nИли используйте утилиту ",[28,1467,183],{}," (если установлена), где swap отображается вверху.",[880,1470],{},[16,1472,1474],{"id":1473},"возможные-проблемы","Возможные проблемы",[82,1476,1478,1479,1481],{"id":1477},"проблема-fallocate-не-работает-файл-создаётся-с-нулевым-размером","Проблема: ",[28,1480,864],{}," не работает, файл создаётся с нулевым размером",[21,1483,1484,1487,1488,1490,1491,1493],{},[47,1485,1486],{},"Решение:"," Используйте ",[28,1489,872],{}," (Способ B). Это может происходить на файловых системах, не поддерживающих ",[28,1492,864],{}," (например, некоторые конфигурации NFS или старые ext4).",[82,1495,1497,1498],{"id":1496},"проблема-при-активации-появляется-ошибка-swapon-swapfile-swapon-failed-invalid-argument","Проблема: При активации появляется ошибка ",[28,1499,1500],{},"swapon: /swapfile: swapon failed: Invalid argument",[21,1502,1503,1505],{},[47,1504,1486],{}," Скорее всего, файл создан неправильно или имеет неверные права. Убедитесь, что:",[41,1507,1508,1514,1523],{},[44,1509,1510,1511,1073],{},"Файл существует и имеет размер больше нуля (",[28,1512,1513],{},"ls -lh /swapfile",[44,1515,1516,1517,1391,1520,1073],{},"Права установлены в ",[28,1518,1519],{},"600",[28,1521,1522],{},"sudo chmod 600 /swapfile",[44,1524,1525,1526,215],{},"Файл инициализирован через ",[28,1527,1528],{},"sudo mkswap /swapfile",[82,1530,1532],{"id":1531},"проблема-swap-не-активируется-после-перезагрузки","Проблема: Swap не активируется после перезагрузки",[21,1534,1535],{},[47,1536,1486],{},[41,1538,1539,1545,1552],{},[44,1540,1541,1542,1544],{},"Проверьте синтаксис записи в ",[28,1543,411],{},". Лучше использовать UUID.",[44,1546,1547,1548,1551],{},"Проверьте вывод ",[28,1549,1550],{},"sudo mount -a"," на наличие ошибок.",[44,1553,1554,1555,1557],{},"Убедитесь, что файл ",[28,1556,976],{}," существует по указанному пути и не был удалён.",[82,1559,1561],{"id":1560},"проблема-система-не-использует-swap-хотя-память-заканчивается","Проблема: Система не использует swap, хотя память заканчивается",[21,1563,1564,1566,1567,1569,1570,1572,1573,72,1575,1578,1579,1581,1582,1585],{},[47,1565,1486],{}," Проверьте значение ",[28,1568,444],{},". Если оно равно ",[28,1571,214],{},", система будет стараться не использовать swap. Увеличьте его до ",[28,1574,447],{},[28,1576,1577],{},"20",". Также проверьте, не переполнен ли swap (",[28,1580,1206],{}," показывает ",[28,1583,1584],{},"Swap: 4.0G 0B 4.0G"," — это нормально, если используется 0Б).",[82,1587,1589],{"id":1588},"проблема-производительность-падает-при-активном-использовании-swap","Проблема: Производительность падает при активном использовании swap",[21,1591,1592,1594],{},[47,1593,1486],{}," Swap на HDD (обычный жёсткий диск) сильно замедляет систему. Рассмотрите возможность:",[41,1596,1597,1600,1603,1613],{},[44,1598,1599],{},"Добавления большего объёма ОЗУ (наиболее эффективное решение).",[44,1601,1602],{},"Использования swap-файла на SSD (гораздо быстрее, но износ накопителя увеличится).",[44,1604,1605,1606,1609,1610,1612],{},"Настройки ",[28,1607,1608],{},"vm.vfs_cache_pressure"," и других параметров в ",[28,1611,1335],{}," для оптимизации кэширования.",[44,1614,1615,1616,201,1618,1620],{},"Увеличения ",[28,1617,444],{},[28,1619,214],{},", если swap используется только как аварийный запас.",[82,1622,1624],{"id":1623},"проблема-недостаточно-места-на-диске-для-создания-swap-файла","Проблема: Недостаточно места на диске для создания swap-файла",[21,1626,1627,1629,1630,1633,1634,1637,1638,848,1641,792,1644,1647],{},[47,1628,1486],{}," Очистите место, удалив ненужные файлы (",[28,1631,1632],{},"/var/log",", кэш пакетов, старые ядра). Либо создайте swap-файл на другом разделе/диске, где есть свободное место. В крайнем случае можно создать ",[47,1635,1636],{},"swap-раздел"," (через ",[28,1639,1640],{},"fdisk",[28,1642,1643],{},"gdisk",[28,1645,1646],{},"mkswap","), но это потребует переразметки диска и перезагрузки.",[567,1649,1650],{},"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":100,"searchDepth":135,"depth":135,"links":1652},[1653,1654,1655,1656,1662,1663,1664,1670,1671],{"id":815,"depth":135,"text":816},{"id":829,"depth":135,"text":830},{"id":884,"depth":135,"text":885},{"id":966,"depth":135,"text":967,"children":1657},[1658,1660],{"id":986,"depth":163,"text":1659},"Способ A: С помощью fallocate (быстро, рекомендовано)",{"id":1021,"depth":163,"text":1661},"Способ B: С помощью dd (медленнее, но универсальнее)",{"id":1090,"depth":135,"text":1091},{"id":1159,"depth":135,"text":1160},{"id":1214,"depth":135,"text":1215,"children":1665},[1666,1668],{"id":1218,"depth":163,"text":1667},"5.1 Добавление в /etc/fstab",{"id":1258,"depth":163,"text":1669},"5.2 Настройка vm.swappiness (опционально)",{"id":1382,"depth":135,"text":1383},{"id":1473,"depth":135,"text":1474,"children":1672},[1673,1675,1677,1678,1679,1680],{"id":1477,"depth":163,"text":1674},"Проблема: fallocate не работает, файл создаётся с нулевым размером",{"id":1496,"depth":163,"text":1676},"Проблема: При активации появляется ошибка swapon: /swapfile: swapon failed: Invalid argument",{"id":1531,"depth":163,"text":1532},{"id":1560,"depth":163,"text":1561},{"id":1588,"depth":163,"text":1589},{"id":1623,"depth":163,"text":1624},"2026-02-16 13:06:41","Узнайте, как создать и настроить swap-файл или раздел в Linux. Пошаговая инструкция для Ubuntu, CentOS, Debian с проверенными командами и рекомендациями по размеру.",[1684,1687,1690,1693],{"question":1685,"answer":1686},"Swap-файл или swap-раздел: что выбрать?","Для большинства случаев лучше выбрать swap-файл — он гибче, его можно легко изменить размер или удалить без переразметки диска. Раздел предпочтительнее только для систем с очень высокими требованиями к производительности ввода-вывода.",{"question":1688,"answer":1689},"Какой размер swap-пространства оптимален?","Общее правило: если у вас 4 ГБ ОЗУ или меньше — размер swap = 2x ОЗУ. При 8-64 ГБ ОЗУ — размер swap = 1x ОЗУ или 0.5x ОЗУ. Для систем с большим объёмом ОЗУ (свыше 64 ГБ) можно обойтись 2-4 ГБ swap или вообще отключить его.",{"question":1691,"answer":1692},"Можно ли изменить swappiness после создания swap?","Да, параметр `vm.swappiness` можно изменить в любой момент через `sysctl` или временно через `echo`. Изменения через `sysctl` сохраняются после перезагрузки.",{"question":1694,"answer":1695},"Что делать, если система не использует swap, хотя память заканчивается?","Проверьте значение `vm.swappiness` (по умолчанию 60). Если оно слишком низкое (например, 0), система будет избегать swap. Увеличьте его до 10-30. Также убедитесь, что swap активирован (`swapon --show`).",[1697,1700,1703,1706,1709],{"name":1698,"text":1699},"Проверка текущего swap-пространства","Узнайте, есть ли уже активный swap и сколько он занимает. Это поможет понять, нужно ли добавлять новое пространство.",{"name":1701,"text":1702},"Создание swap-файла","Создайте файл нужного размера с помощью `fallocate` или `dd`. Убедитесь, что на целевом разделе достаточно свободного места.",{"name":1704,"text":1705},"Настройка прав доступа и превращение в swap","Установите правильные права доступа (только root) и инициализируйте файл как swap-область.",{"name":1707,"text":1708},"Активация swap-файла","Включите новое swap-пространство в систему с помощью команды `swapon`.",{"name":1710,"text":1711},"Настройка параметров и постоянное включение","Добавьте запись в `/etc/fstab` для автоматической активации при загрузке. При необходимости скорректируйте `vm.swappiness`.",[1713,1714,1715,1716,1717,1718,1719,1720],"swap файл linux","создание swap раздела","увеличить swap linux","настроить подкачку ubuntu","swap memory linux","оптимальный размер swap","включить swap centos","управление swap space",{},[1723,1724,625],"/guides/linux/memory-usage-monitoring","/guides/linux/sysctl-tuning","Гайды по Linux",{"title":804,"description":1682},"guides/linux/swap-configuration","Это руководство поможет вам добавить или изменить swap-пространство в Linux, чтобы повысить стабильность системы при нехватке оперативной памяти. Вы научитесь создавать swap-файлы, настраивать их параметры и управлять подкачкой.",[626,935,1730,1731,1732,1733,1734,639],"администрирование","performance","memory management","tuning","оперативная память","guide","5js0bAYlgEwvfsKkh5fUJBVYmm6GuoJxiHzKgy4gtyQ"]