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