11 команд Linux для работы в качестве системного администратора

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


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

Вы в функции поддержки и работаете на сервере Linux?

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

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

Lsof

lsof означает «список открытых файлов», чтобы помочь вам найти все открытые файлы и процессы вместе с тем, кто их открыл. Утилита lsof может быть удобна для использования в некоторых сценариях.

К списку всех файлов, открытых по конкретному PID

# lsof –p PID

Подсчитать количество файлов & процессы

[[Электронная почта защищена] ~] # lsof -p 4271 | туалет
34
[[Электронная почта защищена] ~] #

Проверьте текущий открытый файл журнала

# lsof –p | grep log

Узнайте номер порта, используемого демоном

[[Электронная почта защищена] ~] # lsof -i -P | grep 4271

nginx 4271 root 6u IPv4 51306 0t0 TCP *:80 (СЛУШАТЬ)

nginx 4271 root 7u IPv4 51307 0t0 TCP *:443 (СЛУШАТЬ)

[[Электронная почта защищена] ~] #

pidstat

pidstat может использоваться для мониторинга задач, управляемых ядром Linux. Устранение неполадок, связанных с вводом / выводом, может быть легко с этой командой.

Вывести статистику ввода / вывода для всех PID

# pidstat –d

Чтобы сместить статистику ввода / вывода для конкретного PID

# pidstat –p 4271 –d

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

[[Электронная почта защищена] ~] # pidstat -p 4362 -d 5

Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 13.08.2016 _x86_64_ (2 процессора)

07:01:30 PM UID PID Команда kB_rd / s kB_wr / s kB_ccwr / s

07:01:35 PM 0 4362 0,00 0,00 0,00 Nginx

07:01:40 PM 0 4362 0,00 0,00 0,00 Nginx

07:01:45 PM 0 4362 0,00 0,00 0,00 Nginx

07:01:50 PM 0 4362 0,00 0,00 0,00 Nginx

Вверх

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

Простое выполнение команды top может показать вам загрузку процессора, детали процесса, количество задач, использование памяти, количество процессов зомби и т. Д..

Вверх

Чтобы отобразить детали процесса для конкретного пользователя

# top –u username

Чтобы убить процесс, вы можете выполнить top и нажать К. Вам будет предложено ввести PID для уничтожения..

топ-убийство

п.с.

ps обозначает состояние процесса и широко использует команду для получения снимка запущенного процесса. Очень полезно узнать, запущен процесс или нет, а если работает, то печатает PID.

Чтобы узнать PID и обработать детали по какому-либо слову

# ps –ef | grep word

пс-вывода

ТСРйитр

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

Ты можешь использовать ТСРйитр захватывать сетевые пакеты на сетевом интерфейсе.

Для захвата пакетов на конкретном сетевом интерфейсе

# tcpdump –i $ interface –w / tmp / capture

ТСРйитр-вывода

Как вы можете видеть выше, захватил поток трафика на интерфейсе eno16777736.

Для захвата сетевого трафика между исходным и целевым IP

# tcpdump src $ IP и dst host $ IP

Захват сетевого трафика для порта назначения 443

# tcpdump dst port 443
tcpdump: тип канала передачи данных PKTAP
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на pktap, PKTAP типа Link (Tapet Tap), размер захвата 262144 байта
12: 02: 30.833845 IP 192.168.1.2.49950 > ec2-107-22-185-206.compute-1.amazonaws.com.https: Flags [.], ack 421458229, win 4096, длина 0
12: 02: 32.076893 IP 192.168.1.2.49953 > 104.25.133.107.https: Flags [S], seq 21510813, win 65535, опции [mss 1460, nop, wscale 5, nop, nop, TS val 353259990 ecr 0, sackOK, eol], длина 0
12: 02: 32.090389 IP 192.168.1.2.49953 > 104.25.133.107.https: Flags [.], Ack 790725431, win 8192, длина 0
12: 02: 32.090630 IP 192.168.1.2.49953 > 104.25.133.107.https: Flags [P.], seq 0: 517, ack 1, победа 8192, длина 517
12: 02: 32.109903 IP 192.168.1.2.49953 > 104.25.133.107.https: Flags [.], Ack 147, win 8187, length 0

Прочитать захваченный файл

# tcpdump –r filename

Например: прочитать выше захваченный файл

# tcpdump –r / tmp / test

IOSTAT

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

Показать статистику дискового ввода-вывода

[[Электронная почта защищена] ~] # iostat -d
Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 13.08.2016 _x86_64_ (2 процессора)
Устройство: tps kB_read / s kB_wrtn / s kB_read kB_wrtn
SDA 1,82 55,81 12,63 687405 155546
[[Электронная почта защищена] ~] #

Показать статистику процессора

[[Электронная почта защищена] ~] # iostat -c
Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 13.08.2016 _x86_64_ (2 процессора)
avg-cpu:% user% nice% system% iowait% steal% idle
0,59 0,02 0,33 0,54 0,00 98,52
[[Электронная почта защищена] ~] #

LDD

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

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

[[Электронная почта защищена] sbin] # ldd httpd
linux-vdso.so.1 => (0x00007ffe7ebb2000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fa4d451e000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fa4d42f9000)
libaprutil-1.so.0 => /lib64/libaprutil-1.so.0 (0x00007fa4d40cf000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fa4d3e98000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007fa4d3c6e000)
libdb-5.3.so => /lib64/libdb-5.3.so (0x00007fa4d38af000)
libapr-1.so.0 => /lib64/libapr-1.so.0 (0x00007fa4d3680000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa4d3464000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fa4d325f000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa4d2e9e000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fa4d2c79000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa4d4a10000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fa4d2a73000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007fa4d2870000)
[[Электронная почта защищена] SBIN] #

NetStat

netstat (Network Statistics) – популярная команда для печати сетевых подключений, статистики интерфейса и для устранения различных проблем, связанных с сетью..

Показать статистику всех протоколов

# netstat –s

Вы можете использовать grep, чтобы узнать, есть ли ошибки

[[Электронная почта защищена] sbin] # netstat -s | ошибка grep
0 ошибок при получении пакета
0 ошибок буфера приема
0 ошибок буфера отправки
[[Электронная почта защищена] SBIN] #

Показать таблицу маршрутизации ядра

[[Электронная почта защищена] sbin] # netstat -r
Таблица маршрутизации IP ядра
Шлюз назначения Genmask Flags Окно MSS irtt Iface
шлюз по умолчанию 0.0.0.0 UG 0 0 0 eno16777736
172.16.179.0 0.0.0.0 255.255.255.0 U 0 0 0 eno16777736
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[[Электронная почта защищена] SBIN] #

бесплатно

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

[[Электронная почта защищена] sbin] # free -g
общее количество свободного общего доступного баффа / кэша доступно
Пам: 5 0 3 0 1 4
Обмен: 5 0 5
[[Электронная почта защищена] SBIN] #

-g означает показать детали в ГБ. Таким образом, как вы можете видеть, общий объем доступной памяти составляет 5 ГБ, а 3 ГБ – бесплатно..

сар

sar (System Activity Report) будет полезен для сбора ряда отчетов, включая CPU, память и загрузку устройства..

Просто выполнив команду sar покажет вам использование системы за весь день.

сары-вывод

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

Показывать отчет о процессоре 3 раза каждые 3 секунды

[[Электронная почта защищена] sbin] # sar 3 2
Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 13.08.2016 _x86_64_ (2 процессора)
11:14:02 PM Процессор% user% nice% system% iowait% steal% idle
23:14:05 вечера все 1,83 0,00 0,50 0,17 0,00 97,51
11:14:08 вечера все 1,50 0,00 0,17 0,00 0,00 98,33
Среднее значение: все 1,67 0,00 0,33 0,08 0,00 97,92
[[Электронная почта защищена] SBIN] #

Показать отчет об использовании памяти

# sar –r

Показать сетевой отчет

# sar –n ALL

МПБХВ

ipcs (InterProcess Communication System) предоставляет отчет о семафоре, разделяемой памяти & очередь сообщений.

Чтобы вывести очередь сообщений

# ipcs –q

Перечислить семафоры

# ipcs –s

Для списка общей памяти

# ipcs –m

Для отображения текущего статуса использования IPC

[[Электронная почта защищена] sbin] # ipcs -u

—— Статус сообщений ——–
выделенные очереди = 0
использованные заголовки = 0
используемое пространство = 0 байт

—— Состояние общей памяти ——–
сегментов выделено 5
выделено страниц 2784
резидент 359 страниц
обмен страниц 0
Своп производительность: 0 попыток 0 успехов

—— Статус семафора ——–
используемые массивы = 0
выделенные семафоры = 0
[[Электронная почта защищена] SBIN] #

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

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

TAGS:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map