Руководство по мышлению на стороне сервера | Общее руководство по мониторингу производительности

Java задняя часть Операционная система Linux
Руководство по мышлению на стороне сервера | Общее руководство по мониторингу производительности

Оригинальный адрес:Блог Лян Гуйчжао

адрес блога:blog.720ui.com

Добро пожаловать в перепечатку, пожалуйста, указывайте автора и источник, спасибо!

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

команда top - отслеживать статус процесса

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

# top

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

# top –d 5 –p 9836 -c

команда ps - просмотреть текущий процесс

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

# ps -ef

В то же время вы также можете указать для просмотра связанных процессов. Давайте рассмотрим пример, в котором просмотрите все java-процессы.

# ps –ef | grep java

Команда netstat - просмотр состояния сетевого подключения

Эта команда может узнать сетевую ситуацию в системе Linux и подходит для просмотра информации о сетевом соединении. Среди них можно просмотреть все текущие соединения.

# netstat -a

Кроме того, можно прослушивать TCP-соединения.

# netstat –atl

Вы даже можете подсчитать текущее количество соединений на порту. Давайте рассмотрим пример, в котором проверяем текущее количество соединений на порту 10090.

# netstat -an | grep 10090 | wc -l

Эта команда подходит для наблюдения за нагрузкой ввода-вывода системных устройств и наблюдения за активностью диска в системе. Когда iostat запускается в первый раз, он отображает различную статистическую информацию с момента запуска системы, а затем запуск iostat отображает статистическую информацию с момента последнего запуска команды. Пользователь может получить необходимую статистическую информацию, указав количество и время статистики. Давайте рассмотрим пример, в котором выборка выполняется каждую секунду 5 раз подряд, чтобы наблюдать за использованием дискового ввода-вывода.

# iostat –k 1 5

sar команда - мониторинг производительности

Эта команда подходит для мониторинга использования ЦП и условий простоя, а также использования дискового ввода-вывода, использования трафика сетевой карты и т. д. Чтобы отслеживать ситуацию с ЦП, вы можете использовать параметр -u для вывода статистики использования ЦП. Давайте посмотрим на пример, в котором загрузка ЦП наблюдается путем выборки 10 раз в секунду.

# sar –u 1 10

Стоит отметить, что если %user + %sys превышает 85%, процесс может потратить время на ожидание в очереди выполнения, что повлияет на время отклика и пропускную способность. Однако 100-процентная загрузка не обязательно означает, что ЦП является узким местом производительности, и вы можете дополнительно проверить, превышает ли значение r в команде vmstat количество ЦП на сервере. Кроме того, %system имеет относительно большой размер, что указывает на то, что на управление системой тратится много времени. Требуется дальнейший анализ других аппаратных и программных факторов. Чтобы контролировать дисковый ввод-вывод, вы можете использовать параметр -d для вывода информации об активности для каждого блочного устройства. Давайте рассмотрим пример, в котором использование дискового ввода-вывода наблюдается путем выборки один раз в секунду в течение 10 последовательных раз. Среди них параметр -p может распечатать имя устройства диска.

# sar –pd 1 10

Если значение %util близко к 100 %, система ввода-вывода может быть загружена на полную мощность из-за слишком большого количества генерируемых запросов ввода-вывода, поэтому возникает узкое место на диске. Кроме того, если %await намного больше, чем %svctm, это может быть связано с тем, что очередь дискового ввода-вывода слишком длинная, что приводит к увеличению времени отклика.

команда vmstat - мониторинг виртуальной памяти

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

# vmstat 1 5

Среди них первая строка показывает среднее значение после запуска операционной системы Linux, поэтому обычно смотрите на значение после второй строки.

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

Команда nmon — мониторинг производительности

nmon может отображать всю важную информацию о производительности на одном экране, включая информацию о процессоре, памяти, сети, дисковом вводе-выводе и т. д., а также динамически обновлять ее. Его можно бесплатно загрузить с официального сайта IBM или установить напрямую с помощью команды yum. Здесь используйте wget для загрузки и установки.

# wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz
# tar zxvf nmon_linux_14i.tar.gz
# chmod 777 nmon_x86_64_sles11

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

# ./nmon_x86_64_sles11

В рабочем интерфейсе введите C, чтобы отобразить информацию о процессоре, M, чтобы отобразить информацию о памяти, N, чтобы отобразить информацию о сети, и D, чтобы отобразить информацию о вводе-выводе жесткого диска.

(Конец, перепечатка с указанием автора и источника.)

Еще больше интересных статей в разделе «Серверное мышление»!