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