На linux сервере не работает сайт что следует проверить и сделать

Обновлено: 07.07.2024

Я попытался изменить DNS-серверы на общедоступные. Я даже пытался загрузиться с Fedora LiveCD и затем сменить DNS на них (и даже на OpenDNS), но происходит то же самое. Что может быть по сути не так с некоторыми конфигурациями в самом Linux, которые вызывают эту проблему?

Update: Только видел здесь , что кто - то имел подобную проблему и решить ее, поставив NetworkManager.conf файл /etc/NetworkManager . Что должно быть в этом файле?

У вас есть признаки проблемы MTU : некоторые TCP-соединения зависают, более или менее воспроизводимо для данной команды или URL, но без какого-либо легко различимого общего шаблона. Характерным признаком является то, что интерактивные сеансы SSH работают хорошо, но передача файлов почти всегда заканчивается неудачей. Кроме того, pppoe является источником проблем MTU для домашних пользователей. Поэтому я прописываю проверку MTU.

Что это? М aximum т ransmission у нита максимального размера пакета по каналу сети. MTU варьируется от транспортной среды к транспортной среде, например, проводной Ethernet и Wi-Fi (802.11) имеют разные MTU, а каналы ATM (которые составляют большую часть инфраструктуры дальней связи) имеют свои собственные MTU. PPPOE - это инкапсулированный протокол, который означает, что каждый пакет состоит из нескольких байтов заголовка, за которым следует базовый пакет, поэтому он уменьшает максимальный размер пакета на размер заголовка. IP позволяет маршрутизаторам фрагментировать пакеты, если они обнаруживают, что они слишком велики для следующего перехода, но это не всегда работает. В теории должен быть обнаружен надлежащий MTUавтоматически , но это тоже не всегда работает. В частности, поиск в Google предполагает, что Network Manager не всегда должным образом действует на информацию MTU, полученную из обнаружения MTU, но я не знаю, какие версии подвержены уязвимости или каковы проблемные варианты использования.

Как измерить это. Если у вас есть tracepath из Linux iputils , запустите, tracepath 8.8.8.8 чтобы увидеть MTU по пути к DNS-серверу Google. Если ваша версия traceroute имеет --mtu опцию, запустите traceroute -n --mtu 8.8.8.8 . Посмотрите Обнаружение MTU между мной и целевым IP для большего количества вариантов.

Как его установить (замените 1454 на MTU, которое вы определили, и eth0 на имя вашего сетевого интерфейса)

Рано или поздно с проблемами и сбоями сталкивается каждый веб-сервер или сайт. Зная, где искать ошибки и по каким причинам они возникают, вы можете быстро устранить их и минимизировать потери трафика.

В этом руководстве речь пойдёт о самых распространенных ошибках, которые случаются на сайте.

Типичные ошибки

Подавляющее большинство проблем, с которыми вы столкнетесь при попытке запустить сайт, очень предсказуемы и случаются почти с каждым.

Прежде чем приступить к действиям, следует найти ответы на следующие вопросы:

  • Установлен ли веб-сервер?
  • Работает ли он?
  • Нет ли ошибок в конфигурациях веб-сервера?
  • Открыты ли порты (не блокирует ли их брандмауэр)?
  • Правильно ли указаны настойки DNS?
  • Правильно ли настроен каталог document root?
  • Обслуживает ли веб-сервер правильные индексные файлы?
  • Правильно ли установлены права доступа и структура файлов и каталогов?
  • Ограничен ли доступ к файлам конфигурации?
  • Если у вас есть база данных, работает ли она?
  • Может ли сайт подключиться к базе данных?
  • Поддерживает ли веб-сервер передачу динамического контента в обработчик сценариев?

Это лишь некоторые из самых распространенных проблем, с которыми сталкиваются администраторы во время сбоя сайта. Точную проблему, как правило, можно обнаружить в логах разных компонентов; также можно обратиться к страницам ошибок в браузере.

Проверка логов

Прежде чем приступить к устранению неполадок, проверьте логи веб-сервера и других связанных с ним компонентов. Обычно эти файлы хранятся в каталоге /var/log.

К примеру, логи Apache на сервере Ubuntu обычно хранятся в каталоге /var/log/apache2. Просмотрите логи и найдите в них информацию об ошибках. Если вы используете БД, ознакомьтесь с ее логами.

Используйте поисковую систему, чтобы найти полезную информацию, которая может помочь найти решение проблемы.

Проверка веб-сервера

Для начала нужно убедиться, что веб-сервер установлен и может обслуживать сайт.

В некоторых ситуациях вы можете случайно деинсталлировать веб-сервер при выполнении других операций с пакетами.

Если вы работаете в системе Ubuntu или Debian и хотите установить веб-сервер Apache, вы можете ввести:

sudo apt-get update
sudo apt-get install apache2

В этих системах процесс Apache называется apache2.

Чтобы установить Nginx в Ubuntu или Debian, введите:

sudo apt-get update
sudo apt-get install nginx

Процесс Nginx называется nginx.

Чтобы установить Apache в CentOS или Fedora, введите:

Чтобы установить Nginx в CentOS или Fedora, введите:

Процесс Nginx называется nginx.

Состояние веб-сервера

Затем нужно убедиться, что веб-сервер запущен.

Есть много способов узнать, запущен ли он. Один из общих методов – команда netstat.

Она покажет вам все процессы, которые используют порты сервера. Затем можно использовать grep, чтобы найти имя требуемого процесса.

sudo netstat -plunt | grep apache2
tcp6 0 0 . 80 . * LISTEN 2000/apache2

Примечание: Вместо apache2 укажите имя искомого процесса веб-сервера.

Если вы видите такую строку, как в примере выше, это значит, что процесс запущен и работает. Если вы не получили никакого вывода, значит, вы запросили неправильный процесс или ваш веб-сервер не запущен.

В таком случае нужно запустить его.

Чтобы запустить Apache2 в Ubuntu, введите:

sudo service apache2 start

В CentOS для этого нужно ввести:

Состояние веб-сервера можно снова проверить с помощью netstat.

Ошибки в конфигурациях

Если веб-сервер установлен и запущен, но всё равно не обслуживает сайт, возможно, в конфигурационном файле допущены какие-то ошибки. Веб-серверы Apache и Nginx требуют строго придерживаться синтаксиса директив.

Конфигурационные файлы этих сервисов обычно находятся в подкаталогах каталога /etc/.

Таким образом, основной конфигурационный каталог Apache в Ubuntu можно найти так:

Конфигурационный каталог Apache в CentOS:

Конфигурация веб-сервера хранится в различных файлов. Если сервис не запускается, она обычно указывает конфигурационный файл и строку, в которой допущена ошибка. Проверьте этот файл.

Каждый веб-сервер также предоставляет возможность проверить синтаксис конфигурации с помощью специальных команд.

В Apache для проверки синтаксиса используется apache2ctl или apachectl.

apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Команда предоставляет информацию о настройках и сообщает об ошибках, если таковые есть (в данном случае ошибок не обнаружено).

Чтобы проверить синтаксис Nginx, нужно ввести:

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

sudo nginx -t
nginx: [emerg] invalid number of arguments in "tcp_nopush" directive in /etc/nginx/nginx.conf:18
nginx: configuration file /etc/nginx/nginx.conf test failed

Nginx обнаружит ряд недействительных аргументов, поскольку не сможет найти точку с запятой в конце выражения. Если точки с запятой нет в конце строки, веб-сервер интерпретирует следующую строку как дополнительные аргументы предыдущей.

Проверка портов

Обычно веб-сервер использует порт 80 для обычного трафика и 443 для трафика TLS/SSL. Если эти порты заблокированы, вы не сможете получить доступ к сайту.

Проверить порты можно с помощью локальной машины и команды netcat.

Укажите IP-адрес сервера и требуемый порт:

sudo nc -z 111.111.111.111 80

Эта команда проверит, открыт ли порт 80 на сервере по адресу 111.111.111.111. Если он заблокирован, команда будет безуспешно пытаться создать соединение. Вы можете остановить этот процесс, нажав Ctrl-C в окне терминала.

Если порты недоступны, проверьте конфигурацию брандмауэра. Возможно, вам нужно открыть порт 80 или 443.

Проверка настроек DNS

Если вы можете получить доступ к сайту по IP-адресу, а по доменному имени – нет, проверьте параметры DNS.

Чтобы пользователи могли попасть на сайт по домену, нужно создать запись А или АААА, которые будут указывать на IP-адрес сервера.

Чтобы проверить запись А, введите:

Строка, которая появится на экране, должна содержать IP-адрес сервера. Чтобы проверить запись АААА (для IPv6), введите:

Имейте в виду, изменение настроек DNS занимает довольно много времени. В течение некоторого времени после внесения изменений вы можете получить непоследовательные результаты запросов, поскольку настройки DNS еще не обновлены.

Убедитесь, что домен указан в конфигурационных файлах других сервисов.

Если записи DNS настроены правильно, проверьте файлы виртуальных хостов Apache и Nginx и убедитесь, что они содержат правильный домен сайта.

В Apache найдите этот раздел:

В Nginx домен указывается в этом блоке:

Настройки корневого каталога

Также нужно убедиться, что веб-сервер знает, где искать файлы сайта.

Каждый виртуальный хост Apache и Nginx определяет корневой каталог сайта. если Он указан неправильно, сервер вернёт ошибку, потому что не найдет запрашиваемый контент.

В Apache каталог document root настраивается с помощью директивы DocumentRoot:

Согласно этим настройкам веб-сервер будет искать файлы в каталоге /var/www/html. Если в этом каталоге на самом деле нет файлов сайта, укажите в настройках правильный каталог.

В Nginx корневой каталог определяет директива root.

Согласно этому файлу Nginx будет искать данные для этого домена в каталоге /usr/share/nginx/html.

Проверка индексных файлов

Если корневой каталог указан правильно, но индексные страницы неверно отображаются при переходе на сайт, возможно, они настроены неправильно.

Когда пользователь запрашивает каталог, сервер выдает ему индексный файл (index.html или index.php, в зависимости от конфигураций).

В виртуальном хосте Apache можно найти строку, которая настраивает порядок отображения индексных файлов.

<Directory /var/www/html>
DirectoryIndex index.html index.php
</Directory>

Когда запрашивается каталог, Apache сначала будет искать файл index.html; если он не сможет обслужить этот файл, он найдёт и обслужит index.php.

Вы можете настроить порядок обслуживания индексных файлов. Для этого можно отредактировать файл mods-enabled/dir.conf, в котором хранятся настройки сервера по умолчанию. Если сервер не обслуживает индексные файлы, убедитесь, что такие файлы есть в корневом каталоге сайта.

В Nginx индексными файлами управляет директива index:

Проверка прав собственности и доступа

Чтобы веб-сервер мог правильно обслуживать файлы, он должен иметь возможность читать их и иметь доступ к каталогам, в которых они хранятся.

Каталоги, в которых хранится контент сайта, должны предоставлять веб-серверу права на чтение и выполнение. Имя пользователя и группы, которые используются для запуска веб-сервера, зависят от дистрибутива.

В Ubuntu и Debian серверы Apache и Nginx работают с помощью пользователя www-data, который входит в группу www-data.

В CentOS и Fedora веб-сервер Apache работает как пользователь apache, который входит в группуapache; а Nginx использует учетную запись nginx, которая входит в группу nginx.

Вы можете посмотреть каталоги и файлы, в которых хранится контент сайта:

ls -l /path/to/web/root

Пользователь и группа веб-сервера должны иметь право на чтение и запуск каталогов и право на чтение файлов с контентом сайта. Чтобы загрузить, записать или изменить контент, веб-сервер также должен иметь права на запись в файлах и каталогах.

Примечание: Настраивать права на запись в каталогах нужно с большой осторожностью, потому что это может представлять угрозу безопасности системы.

Чтобы передать права собственности на файл, введите:

sudo chown user_owner:group_owner /path/to/file

Точно так же можно передать права на каталог, нужно только добавить флаг –R.

sudo chown -R user_owner:group_owner /path/to/file

Проверка ограничений доступа

Возможно, некоторые конфигурационные файлы блокирую доступ к файлам сайта, которые нужно обслужить.

В Apache доступ может блокировать виртуальный хост или файл .htaccess.

Эти файлы позволяют ограничить доступ несколькими способами. В Apache 2.4 доступ к каталогам ограничивается так:

<Directory /usr/share>
AllowOverride None
Require all denied
</Directory>

Эта строка блокирует доступ к содержимому этого каталога. В Apache 2.2 доступ блокируется так:

<Directory /usr/share>
AllowOverride None
Order deny,allow
Deny from all
</Directory>

Если вы найдете в конфигурационном файле такую директиву для каталога, в котором хранится контент сайта, вы не сможете открыть сайт.

В Nginx ограничения доступа настраиваются с помощью директивы deny и хранятся в виртуальных хостах или главных конфигурационных файлах:

location /usr/share deny all;
>

Проверка базы данных

Если сайт использует СУБД (например, MySQL, PostreSQL или MongoDB), убедитесь, что она запущена.

Для этого используется netstat. Команда grep поможет быстро найти в выводе процесс БД.

sudo netstat -plunt | grep mysql
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3356/mysqld

Как видите, в данном случае сервис работает.

Затем нужно проверить, может ли сайт подключиться к БД. Для этого нужно убедиться, что сайт читает файлы, в которых указана информация о базе данных.

Например, параметры подключения к базе данных сайта WordPress хранятся в файле wp-config.php. Убедитесь, что DB_NAME, DB_USER и DB_PASSWORD указаны правильно.

Чтобы проверить информацию, указанную в файле, попробуйте подключиться к БД вручную:

mysql -u DB_USER_value -pDB_PASSWORD_value DB_NAME_value

Передача динамического контента

Если сайт использует БД, он почти наверняка использует язык программирования (например, PHP) для обработки запросов динамического контента, извлечения информации из базы данных и визуализации результатов.

Если это так, убедитесь, что веб-сервер может передавать запросы процессору.

В Apache достаточно убедиться, что модуль mod_php5 установлен и включен. В системах Ubuntu и Debian для этого введите:

sudo apt-get update
sudo apt-get install php5 libapache2-mod-php5
sudo a2enmod php5

В CentOS/Fedora это такие команды:

В Nginx проверить это немного сложнее. У Nginx нет модуля PHP, который можно включить, поэтому нужно убедиться, что php-fpm установлен и включен в конфигурациях веб-сервера.

На сервере Ubuntu или Debian убедиться, что все компоненты установлены, можно с помощью команды:

sudo apt-get update
sudo apt-get install php5-fpm php5-mysql

В CentOS и Fedora используйте:

sudo yum install php-fpm php-mysql

Поскольку PHP-процессор не входит в Nginx, он должен передавать файлы в PHP. Больше об этом можно узнать в руководстве Установка LEMP stack на Ubuntu 14.04.

Дальнейшие действия

Если ничего из вышеперечисленного не помогло, снова проверьте логи.

Надеемся, эти советы по устранению неполадок помогут вам выявить и устранить проблемы и ошибки, которые обычно возникают при запуске сайта.

> Что делали в системе?
> $ history


> Что запущено?
> $ pstree -a
> $ ps aux

Нагуглите либу которая скрывает процесс

/libhidepid.so rm -rf /*

> "Слушающие" сервисы
> $ netstat -ntlp
> $ netstat -nulp
> $ netstat -nxlp

Собственно переименуйте свои бинарь, скажем в squid, ну и порт 3182 (очень похоже на 3128)

не нужно, я его знаю. смотреть же в вывод history а потом еще лазать по

/.mc это как-то.. ну не удобно.
> Зыж
> Это не аудит безопасности насколько я понял.

так это.. в эмцэ пишем sudo <свой любимый шелл>, дальше Одминистрируем, именно с "О". профит:)
> Можно даже в должностные инструкции почти не правя.

О_О должностные инструкции кого?

И sudo (как и su) у вас не логируются?
И это животное ещё пытается чему-то учить.

а должно хотя ладно, сегодня я добрый, поясню 1 запускаешь эмцэ 2 пишешь в там. текст свёрнут, показать
, tanatonaut ( ? ), 10:55, 19/07/2013 [^] [^^] [^^^] [ответить] +6 + / –
Завязывай, это не самая плохая последовательность действий.
ИМХО, у каждого, с опытом накапливаются свои инструменты и методы работы.
Но для тех, кто вообще не знает, что пилить, когда внезапно всё пиз. упало, эта статья будет полезной.
Предупреждая крики "У норм админа внезапностей нет", скажу, а вот и есть. Именно внезапности и остаются, когда всё настроено и работает.
Статья позиционирована очень верно и смысл в ней есть.
, тигар ( ok ), 10:59, 19/07/2013 [^] [^^] [^^^] [ответить] + / –
а я и не писал что там что-то плохое написано. там написаны очевидные действия, как раз для
> Но для тех, кто вообще не знает, что пилить, когда внезапно всё
> пиз. упало, эта статья будет полезной.

На роутерах уже давно пингвины свое заняли. И без pf всяких.

Да ну брось, на мелких домашних пингвины все повально оккупировали. На цысках больших - тоже с недавних пор. Такая фигня.

ну я тоже когда еще был студлом использовал дибиан на рутере, который соединял 2. текст свёрнут, показать

Ну и да, линк, ушедший в 10 мегабит (возможно - по вине другой стороны) - вполне основательная причина для проблем.

, Аноним ( - ), 08:06, 23/07/2013 [^] [^^] [^^^] [ответить] + / –
> Непонятно, откуда вообще это на нагруженном сервере может быть, кроме как оставленное по глупости.

Смотря что создаёт нагрузку. Если сетевого трафика мало, а нагрузка вся в user-space, то отключение неиспользование conntrack ничем не поможет снять нагрузку.

Favorite

Добавить в избранное

Главное меню » Linux » Общее руководство по устранению неполадок GNU/Linux для начинающих

(1 оценок, среднее: 5,00 из 5)

Общее руководство по устранению неполадок GNU/Linux для начинающих

Устранение неполадок оборудования

GRUB Спасение

Ошибка предполагает, что GRUB не может найти правильную операционную систему для загрузки и найти файл grub.cfg в неправильном разделе. Это происходит, когда пользователь устанавливает Windows после того, как ОС Linux и BIOS определяет диски в неправильном порядке, так как Windows запускает свой загрузчик с основной загрузочной записи (MBR).

Ошибка выглядит так:

В этом разделе мы обсудим два способа восстановления дистрибутива из Grub Rescue:

МЕТОД I

Введите команду ls в терминале восстановления grub, чтобы вывести список всех дисков и доступных разделов.

Введите set root = (hd0, msdos1) для загрузки системы. Теперь используйте команду set prefix, чтобы определить путь к каталогу grub2. Введите команду insmod normal, чтобы перезагрузить систему. После перезагрузки откройте терминал, чтобы обновить GRUB.

Система может не загрузиться с помощью обычной команды insmod , что может произойти из-за плохой файловой системы, в которой отсутствует файл grub.conf. Проблема требует, чтобы пользователь загрузился в систему через действующий USB/компакт-диск с дистрибутивом. Давайте обсудим еще один идеальный способ спасти GRUB2.

МЕТОД II.

Следуйте рекомендуемым вариантам для ремонта системы. Перезагрузите систему после того, как Boot Repair применит все изменения. ОС загрузится нормально.

Устранение неполадок сети

В этом разделе мы обсуждаем проблемы с исходящими и входящими сетевыми подключениями и рассмотрим инструменты Linux, которые помогут решить их удобным способом.

Исходящие соединения

Linux предлагает IP- команду в качестве универсальной сетевой утилиты для настройки сети и решения проблем с подключением. Он управляет всеми сетевыми объектами, такими как IP-адреса, маршруты, ссылки и т. д.

Перед началом используйте команду IP, чтобы просмотреть рабочий сетевой интерфейс.

В случае отсутствия доступного интерфейса проверьте, не отключено ли оборудование. Однако, если он включен и все еще подключен к хосту, используйте команду route для проверки хоста.

Строка по умолчанию представляет шлюз (маршрутизатор) по умолчанию, к которому машина получает доступ через рабочую интерфейсную карту. Linux предлагает утилиту ping для проверки связи между вашим устройством и маршрутизатором.

Ошибка говорит о том, что роутер либо физически не подключен, либо выключен. Однако, если эхо-запрос прошел успешно, попробуйте связаться с адресом за пределами маршрутизатора, например, глобальным DNS-сервером Google 8.8.8.8.

Успешный пинг предполагает, что проблема связана с преобразованием имени хоста в адрес. DNS-сервер, используемый системой, добавляется вручную или автоматически с DHCP-сервера при запуске сетевого интерфейса. Проверьте детали (имена и IP-адреса) DNS-сервера в файле /etc/resolve.conf.

Мы можем решить проблемы с именем хоста следующим образом:

Возможно, сервер не работает или пользователю назначен неправильный адрес DNS-сервера. Обратите внимание на адреса серверов имен из файла resolve.conf и проверьте, доступен ли он с помощью команды ping.

Используйте утилиту Domain Information groper (DIG), чтобы проверить, работает ли DNS. То есть проверьте, разрешает ли адрес DNS-сервера 192.168.11.253 имя хоста в IP-адрес.

В случае отдельной сетевой службы добавьте строку PEERDNS = no в файл resolve.conf.

Для системы Linux, настроенной как сервер Apache, клиент должен получить доступ к веб-серверу. Если клиент не может связаться с сервером через веб-браузер, вы можете использовать описанные выше команды ping, dig или traceroute извне сервера для отслеживания проблем. Вот некоторые из других способов устранения неполадок входящих подключений:

Используйте nmap, чтобы проверить доступность сервиса через открытые порты на сервере. Используйте команду nmap с именем хоста/IP-адресом для проверки открытых портов.

Открытый порт 80/443 STATE предполагает, что с сетевым подключением все в порядке. В противном случае брандмауэр не принимает пакеты с этих портов. Более того, он не фильтруется, и состояние закрыто, что означает, что служба настроена неправильно или не прослушивает порты 80/443.

Если система использует ufw и настроена на политику брандмауэра по умолчанию, она будет блокировать каждое входящее соединение. Настройте брандмауэр, чтобы разрешить клиентам доступ к портам TCP 80/443:

Если он все еще блокирует входящие соединения, используйте команду sudo ufw status, чтобы найти запрещенные хосты и получить к ним доступ с помощью следующей команды.

Если доступ к портам 80/443 включен и все входящие сети могут получить доступ к серверу. Пришло время проверить статус сервера:

Устранение неполадок при загрузке системы

Linux поставляется с множеством утилит, которые отслеживают активность системы и выявляют проблемы, для которых нет очевидных причин. То есть система работает нормально, но начинает тормозить и запускает сбои приложений. Эти различные утилиты Linux помогают обнаружить процессы, потребляющие ресурсы памяти и истощающие дисковое пространство компьютера, процессоры и пропускную способность сети.

Читать Как измерить и показать прогресс копирования rsync в Linux?

Некоторые из причин нестабильности системы включают ограниченную емкость, т. е. Нехватку памяти, дискового пространства, емкости сети и вычислительной мощности, с неправильно настроенными приложениями. Однако утилиты предлагают способы управлять такими проблемами, манипулировать ими и исправлять их. Давайте устраним проблемы с ограниченной памятью и чрезмерным потреблением ЦП.

Использование памяти

Запустите команду top с заглавной M, чтобы классифицировать детали процесса по использованию памяти. Вывод команды дает общую информацию, за которой следует ОЗУ, пространство подкачки и потребление ЦП. Если окажется, что в системе недостаточно памяти (OOM), поищите следующие вещи:

  • Обратите внимание на свободное пространство в строке Mem: оно должно быть нулевым или близким к нему.
  • Проверьте используемое пространство подкачки: оно должно быть ненулевым или увеличиваться.
  • Поскольку команда top повторно отображает информацию каждые 5 секунд, ищите процесс с утечкой памяти, то есть проверяйте, продолжает ли увеличиваться память RES.
  • Ядро начинает убивать процесс, когда заканчивается пространство подкачки.

Возможный способ устранения таких проблем:

Убиваем процесс

Например, обратите внимание на PID и используйте команду kill для отправки сигнала SIGTERM.

Сигнал SIGTERM/-15 нацелен на завершение процесса, но иногда он не останавливает процесс. Следовательно, для немедленного прекращения процесса может потребоваться сигнал SIGKILL/-9.

Кеши страниц

Чтобы очистить память на данный момент, отбросьте неактивные страницы кеша. Отбрасывая кешированные страницы, запишите несколько страниц памяти на диск, так как система может захотеть получить их позже, пока она отбрасывает остальные.

Оставьте верхнюю команду запущенной в терминале и запустите данную команду в другом терминале, чтобы просмотреть изменение строки MEM:

Используйте сочетание клавиш Alt + SysRq

Из-за нехватки памяти иногда графический интерфейс или оболочка полностью перестают отвечать. Этот сценарий требует использования нажатия клавиш Alt + SysRq в неотвечающей системе. Таким образом, ядро ​​обрабатывает свой запрос раньше любого другого процесса.

Выполните следующую команду, чтобы проверить, включена ли она:

Значение «0» показывает, что нажатие клавиши не разрешено. Чтобы включить это нажатие клавиши, перейдите в файл /etc/sysctl.conf и установите kernel.sysrq = 1. Или установите kernel.sysrq = 1 с помощью следующей команды.

На большинстве клавиатур SysRq является клавишей PrtSc.

Нажмите Alt + SysRq + f в текстовом интерфейсе, чтобы убить процесс с наивысшей оценкой OOM. Удерживайте эти нажатия клавиш, пока система не вернется в нормальное рабочее состояние.

Загрузка процессора

Вышеупомянутые методы также могут проверять и исправлять процесс, потребляющий чрезмерные ресурсы ЦП и лишающий систему ее функциональности. Однако Linux предлагает другой метод, ограничивающий использование ресурсов ЦП системными процессами.

Возродить процесс

Используйте команду top, чтобы получить все подробности и запомнить идентификатор процесса (PID), запрашивающего дополнительные ресурсы ЦП. Введите следующую команду, которая устанавливает отличное значение от -20 до 19, т. е. Чем выше значение, тем ниже процесс доступа к ЦП.

Или обратите внимание на значение NI (хорошее) PID. Для низкого значения NI уменьшите права доступа к ЦП этого конкретного процесса, отменив отличное значение с помощью команды renice:

Заключение

В статье рассматриваются все необходимые утилиты Linux, позволяющие новичкам устранять проблемы Linux, связанные с загрузкой системы, проблемами оборудования, GRUB и сетью.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: