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