11 Команди за ефективност на Linux, които трябва да знаете като системен администратор

Проблем, свързан с ефективността, свързан с производителността в света на информационните технологии, винаги е предизвикателство и ако не сте били наясно с правилните инструменти, това би било разочароващо.


Ако работите като поддръжка в производствена среда, тогава най-вероятно ще трябва да се справите с проблеми, свързани с производителността в Linux среда.

Поддържате ли функция за поддръжка и работите на Linux сървър?

Нека да преминем през някои от най-използваните помощни програми за команден ред на Linux за диагностициране на проблеми, свързани с производителността.

Забележка: Някои от изброените по-долу команди може да не са инсталирани по подразбиране, така че трябва да ги инсталирате ръчно.

lsof

lsof означава „списък на отворени файлове“, за да ви помогне да намерите всички отворени файлове и процеси, заедно с този, който ги е отворил. Помощната програма lsof може да бъде удобна за използване в някои сценарии.

За да изброите всички файлове, отворени от конкретен PID

# lsof –p PID

Пребройте броя на файловете & процеси

[[Имейл защитен] ~] # lsof -p 4271 | wc -l
34
[[Имейл защитен] ~] #

Проверете текущо отворения лог файл

# lsof –p | греп дневник

Разберете номера на порта, използван от демон

[[Имейл защитен] ~] # 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 ядрото. Отстраняването на проблеми, свързани с I / O, може да бъде лекотата с тази команда.

Списък на I / O статистиката на всички PID

# pidstat –d

За изместване на I / O статистиката за конкретен PID

# pidstat –p 4271 –d

Ако правите отстраняване на проблеми в реално време за някакъв процес, тогава можете да наблюдавате I / O в интервал. По-долу е да наблюдавате на всеки 5 секунди.

[[Имейл защитен] ~] # pidstat -p 4362 -d 5

Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 13.08.2016 _x86_64_ (2 CPU)

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 –u потребителско име

За да убиете процеса, можете да изпълните горната част и да натиснете к. Той ще ви подкани да въведете PID, за да бъдете убит.

най-убийство

к.с.

ps означава състояние на процеса и широко използвана команда за получаване на моментна снимка на изпълнения процес. Много полезно да разберете дали даден процес се изпълнява или не и дали тече след това отпечатва PID.

За да разберете PID и да обработите подробности с някаква дума

# ps –ef | grep дума

PS-изход

Tcpdump

Отстраняването на проблеми с мрежата винаги е предизвикателство и една от основните команди, които трябва да използвате, е tcpdump.

Можеш да използваш Tcpdump за улавяне на мрежовите пакети в мрежов интерфейс.

За улавяне на пакетите в определен мрежов интерфейс

# tcpdump –i $ интерфейс –w / tmp / улавяне

Tcpdump-изход

Както можете да видите по-горе, е уловил трафик на интерфейса „eno16777736”.

За улавяне на мрежовия трафик между IP източник и дестинация

# tcpdump src $ IP и dst хост $ IP

Улавяйте мрежовия трафик за пристанище 443

# tcpdump dst порт 443
tcpdump: тип връзка за данни PKTAP
tcpdump: подтиснат многословен изход, използвайте -v или -vv за пълно декодиране на протокола
слушане на pktap, тип връзка PKTAP (Packet Tap), размер на заснемане 262144 байта
12: 02: 30.833845 IP 192.168.1.2.49950 > ec2-107-22-185-206.compute-1.amazonaws.com.https: Флагове [.], 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: Флагове [.], Ack 790725431, win 8192, дължина 0
12: 02: 32.090630 IP 192.168.1.2.49953 > 104.25.133.107.https: Флагове [P.], последователност 0: 517, ack 1, win 8192, дължина 517
12: 02: 32.109903 IP 192.168.1.2.49953 > 104.25.133.107.https: Флагове [.], Ack 147, win 8187, дължина 0

Прочетете заснетия файл

# tcpdump –r име на файл

Например: за да прочетете по-горе заснетия файл

# tcpdump –r / tmp / тест

iostat

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

Показване на статистически данни за входно / изходни дискове

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

Показване на статистически данни за процесора

[[Имейл защитен] ~] # йостат -с
Linux 3.10.0-327.13.1.el7.x86_64 (localhost.localdomain) 13.08.2016 _x86_64_ (2 CPU)
avg-cpu:% user% nice% system% iowait% откраднат% idle
0,59 0,02 0,33 0,54 0,00 98,52
[[Имейл защитен] ~] #

ДЛД

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 (мрежова статистика) е популярна команда за отпечатване на мрежови връзки, статистика на интерфейса и за отстраняване на различни проблеми, свързани с мрежата.

За да се покаже статистика на всички протоколи

# netstat –s

Можете да използвате греп, за да разберете дали има грешки

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

За показване на таблицата за маршрутизиране на ядрото

[[Имейл защитен] sbin] # netstat -r
Таблица за маршрутизиране на IP ядро
Дестинация Gateway Genmask Flags MSS Window 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 сървър липсва памет или просто искате да разберете колко памет е налична от наличната памет, тогава безплатната команда ще ви помогне.

[[Имейл защитен] sbin] # безплатно -g
общо използвани безплатен споделен буф / кеш на разположение
Mem: 5 0 3 0 1 4
Размяна: 5 0 5
[[Имейл защитен] sbin] #

-g означава да се показват детайлите в GB. Както можете да видите, общата налична памет е 5 GB, а 3 GB е безплатна.

сар

sar (Отчет за системната активност) ще бъде полезен за събиране на редица отчет, включително 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 CPU)
23:14:02 PM CPU% user% nice% system% iowait% открадна%% idle
23:14:05 PM всички 1,83 0,00 0,50 0,17 0,00 97,51
23:14:08 PM всички 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 ВСИЧКИ

IPCS

ipcs (InterProcess комуникационна система) предоставя отчет за семафора, споделена памет & опашка за съобщения.

За да изброите опашката за съобщения

# ipcs –q

За да изброите семафорите

# ipcs –s

За да изброите споделената памет

# ipcs –м

За да се покаже текущото състояние на използване на IPC

[[Имейл защитен] sbin] # ipcs -u

—— Състояние на съобщенията ——–
разпределени опашки = 0
използвани заглавки = 0
използвано пространство = 0 байта

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

—— Състояние на семафор ——–
използвани масиви = 0
разпределени семафори = 0
[[Имейл защитен] sbin] #

Надявам се по-горе командите да помогнат в различната ситуация на работата на вашата системна администрация.

Те са само за да ви дадат представа за команди и ако се интересувате, можете да проверите това Курс за наблюдение на работата на Linux и отстраняване на проблеми.

ЕТИКЕТИ:

  • 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