Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: .NET в Linux
В этой статье описывается использование top
и htop
средства командной строки для мониторинга процессов.
Предварительные требования
Как и в предыдущих частях, эта часть структурирована, чтобы большее внимание уделяется теории и субъектам, которые следует следовать при начале устранения неполадок. У него нет необходимых компонентов. Однако вы должны иметь следующие элементы, которые уже настроены, если вы выполнили все действия этого обучения до сих пор:
- Nginx имеет два веб-сайта:
- Первый веб-сайт прослушивает запросы с помощью заголовка узла myfirstwebsite (
http://myfirstwebsite
), а также направляет запросы в демонстрационное приложение ASP.NET Core, прослушивающее порт 5000. - Второй веб-сайт прослушивает запросы с помощью заголовка узла buggyamb (
http://buggyamb
) и направляет запросы во второй ASP.NET пример приложения buggy Core, прослушивающего порт 5001.
- Первый веб-сайт прослушивает запросы с помощью заголовка узла myfirstwebsite (
- Оба приложения ASP.NET Core выполняются как службы, которые автоматически перезапускаются при перезагрузке сервера, или приложения перестают отвечать на запросы или завершаются сбоем.
- Локальный брандмауэр Linux включен и настроен для разрешения трафика SSH и HTTP.
Цель этой части
При устранении проблемы с производительностью может потребоваться отслеживать использование ЦП и памяти процесса, чтобы понять, как его потребление ресурсов развивается со временем. В Windows для этого можно использовать диспетчер задач. В Linux есть несколько средств, направленных на достижение одной и той же задачи.
В этой части рассматриваются средства командной top
строки для htop
мониторинга процессов.
популярное
Чтобы открыть эквивалент диспетчера задач в Linux, выполните top
команду.
В этом примере вы можете наблюдать за первым перечисленным процессом для PID 19933, что процесс демонстрирует высокую загрузку ЦП, а использование памяти также высоко.
Выбор и отмена выбора столбцов
Чтобы добавить или удалить столбцы в представлении, которое top
предоставляет средство, выберите F во время запуска средства. Столбцы, помеченные звездочкой (*), — это столбцы, выбранные для отображения. Используйте клавиши со стрелками, чтобы перемещаться по доступным столбцам и использовать пробел для выбора или отмены выбора столбцов. Затем нажмите клавишу ESC , чтобы выйти.
Изменения будут сохранены для учетной записи пользователя. При следующем запуске top
вы увидите выбранные столбцы.
Фильтрация выходных данных пользователями
Чтобы иметь возможность ориентироваться на проблемные сценарии потребления ресурсов, важно знать, как фильтровать выходные top
данные. Одним из наиболее распространенных методов является фильтрация процессов по имени пользователя. Вы можете выбрать U и ввести имя пользователя. На следующем снимке экрана показан top
инструмент фильтрации доступных моментальных снимков процесса для пользователя www-data.
При нажатии клавиши ВВОД отображаются процессы, выполняемые заданным пользователем (в этом примере пользователь www-data).
При проверке выходных данных отфильтрованного top
представления можно увидеть, что два процесса являются процессами .NET. Эти два процесса выполняют два приложения ASP.NET Core, а другие два процесса принадлежат Nginx.
Фильтры можно использовать при выполнении команды напрямую top
. Например, если выполнить top -u www-data
команду, она даст те же выходные данные, что и при открытии top
средства и выбора U для фильтрации по пользователю.
Удаление процессов простоя
Выберите команду "Я " или выполните top -i
команду, чтобы отфильтровать top
выходные данные, чтобы отобразить только те процессы, которые используют ЦП. На следующем снимку экрана показаны выходные данные top -i -u www-data
команды. Обратите внимание, что top
выходные данные скрывают неактивные процессы, даже если существует четыре процесса, запущенные с помощью учетной записи пользователя www-data. Только процесс, имеющий PID=19933, потребляет ЦП.
Снова нажмите кнопку, чтобы переключить переключатель и отобразить процессы простоя.
Убийство процессов
Чтобы убить или завершить процесс, необходимо отправить сигнал об убийстве в процесс. Вы можете вспомнить, что мы использовали sudo kill -9 <PID>
команду ранее для убийства процесса. Вы также можете убить процессы с помощью top
. Выберите K , чтобы убить процесс во время top
выполнения, а затем введите piD процесса, который требуется убить.
После нажатия кнопки ВВОДtop
запрашивает тип сигнала. Нажмите клавишу ВВОД еще раз, чтобы отправить сигнал "завершить" (15/sigterm
).
Через несколько секунд вы увидите, что процесс для piD 122632 отсутствует в списке. Помните, что в списках процесс "122632" соответствует приложению BuggyAmb ASP.NET Core. Так как он был настроен автоматически, вы увидите, что новый процесс .NET с новым PID начинается после завершения работы.
htop
Htop — это средство просмотра процессов и приложение в текстовом режиме для мониторинга системы в режиме реального времени, аналогичное top
. Это легко использовать, и он отображает полный список выполняемых процессов.
Это htop
средство предварительно установлено в дистрибутиве Ubuntu Linux, который используется для установки виртуального сервера для этого курса. Если htop
он не установлен в дистрибутиве Linux, вы можете использовать диспетчеры пакетов в Linux для его установки. (См. раздел Часть 1.3. Установка .NET в Linux для получения дополнительных сведений.)
Чтобы запустить средство, выполните htop
команду. Вы увидите цветные выходные данные, похожие на следующий:
Примечание.
В нижней строке указаны ключи функций, которые можно использовать. Выберите F6 , чтобы отсортировать по разным параметрам, используйте клавиши со стрелками, чтобы выбрать PERCENT_MEM
столбец, а затем нажмите клавишу ВВОД. Это сортирует процессы по использованию памяти.
Как и в top
случае с командой, можно использовать сочетания клавиш для нескольких функций. Например, выберите U , чтобы выбрать имя пользователя из списка.
Однако в выходных htop
данных есть что-то запутанное. На основе выходных данных последних примеров следует ожидать, что для пользователя www-data будут отображаться четыре процесса. Однако мы видим, что есть много других записей. Что может привести к этому поведению?
Разница в выходных данных возникает, так как htop
по умолчанию отображаются как процессы, так и их потоки. Если вы не хотите видеть потоки, рекомендуется всегда отключать представление потоков, чтобы сделать выходные данные более понятными. Чтобы отключить представление потоков и просмотреть только процессы, выберите SHIFT+H. На следующем снимке экрана показаны процессы без потоков.
Если необходимо убить процесс, выберите процесс с помощью клавиш со стрелками, выберите F9 и нажмите клавишу ВВОД , чтобы отправить сигнал "завершить".
В этом кратком обзоре следует понять, какие процессы выполняются и потребляют ресурсы в системе. Чтобы выйтиhtop
, выберите F10 или CTRL+C.
Следующие шаги
В следующей части этой серии (часть 3.3 — отладчики, основные дампы и сбор основных дампов) обсуждаются отладчики и файлы дампа.