GNU/Linux
Получение информации о системе
Поиск…
Вступление
Сбор команд для получения связанной с системой информации.
Список оборудования
Ubuntu:
lshw - небольшой инструмент для извлечения подробной информации об аппаратной конфигурации машины. Он может сообщать точную конфигурацию памяти, версию прошивки, конфигурацию материнской платы, версию и скорость процессора, конфигурацию кеша, скорость шины и т. Д.
$ sudo lshw | less (or more)
$ sudo lshw -html > myhardware.html
$ sudo lshw -xml > myhardware.xml
Чтобы показать информацию о PCI
$ lspci -tv
Чтобы просмотреть информацию о USB
$ lsusb -tv
Для отображения информации BIOS
$ dmidecode -q | less
Чтобы узнать конкретную информацию о диске (диск sda в примере), вы можете использовать:
$ hdparm -i /dev/sda
Немногие дополнительные утилиты / команды помогут собрать дополнительную информацию:
$ smartctl -A /dev/sda | grep Power_On_Hours # How long has this disk (system) been powered on in total
$ hdparm -tT /dev/sda # Do a read speed test on disk sda
$ badblocks -s /dev/sda # Test for unreadable blocks on disk sda
Найти информацию о модели процессора / скорости
Ubuntu:
$ cat /proc/cpuinfo
Результат выборки:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
stepping : 11
cpu MHz : 1596.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
bogomips : 4800.18
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
....
..
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
stepping : 11
cpu MHz : 1596.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
bogomips : 4800.30
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
счетчик (включая ядра):
$ grep -c processor /proc/cpuinfo
Мониторинг процесса и сбор информации
В целом у вас есть два способа мониторинга процессов на хосте linux
Статический мониторинг
Наиболее широко используемой командой является команда ps
(т. Е. Статус процесса), которая используется для предоставления информации о текущих запущенных процессах, включая идентификационные номера их процессов (PID).
Вот несколько полезных вариантов для сбора конкретной информации.
Перечислить процессы в иерархии
$ ps -e -o pid,args --forest
Перечислить процессы, отсортированные по использованию% cpu
$ ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'
Перечислить процессы, отсортированные по использованию mem (KB).
$ ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
Список всех тем для конкретного процесса (пример «firefox-bin» в примере)
$ ps -C firefox-bin -L -o pid,tid,pcpu,state
После поиска конкретного процесса вы можете собрать информацию, относящуюся к нему, используя lsof
для перечисления путей, которые открывают идентификатор процесса
$ lsof -p $$
Или на основе процессов поиска пути, которые указали путь открытым
$ lsof ~
Интерактивный мониторинг
Наиболее часто используемый инструмент для динамического мониторинга:
$ top
Это основная команда по умолчанию, которая имеет огромные возможности для фильтрации и представления информации в реальном времени (по сравнению с командой ps
.
Тем не менее есть более предварительные варианты, которые можно рассматривать и устанавливать как top
замену
$ htop -d 5
или же
$ atop
Имея возможность записывать все действия в файл журнала (по умолчанию atop будет регистрировать всю активность каждые 600 секунд). В этот список есть несколько специализированных команд как iotop
или iftop
$ sudo iotop
Статистика CPU, памяти, сети и диска (операции ввода-вывода)
Получить общую статистику по основным компонентам семейства команд stat
очень полезно
ЦПУ
Чтобы получить статистику по процессорам, вы можете использовать команду mpstat
но с некоторыми параметрами она обеспечит лучшую видимость:
$ mpstat 2 10
объем памяти
Мы все знаем, что команда free
для отображения количества (оставшейся) ОЗУ, но для просмотра всех статистических данных, включая операции ввода-вывода:
$ vmstat 2 10
диск
Чтобы получить общую информацию о ваших дисковых операциях в режиме реального времени, вы можете использовать iostat
.
$ iostat -kx 2
сеть
Чтобы узнать, что происходит с вашими сетевыми сервисами, вы можете использовать netstat
$ netstat -ntlp # open TCP sockets
$ netstat -nulp # open UDP sockets
$ netstat -nxlp # open Unix sockets
Но вы можете найти полезный мониторинг для просмотра сетевого трафика в режиме реального времени:
$ sudo iftop
Необязательный
Чтобы генерировать статистику в реальном времени, связанную с операциями ввода-вывода для всех компонентов, вы можете использовать dstat
. Этот инструмент, который является универсальной заменой для vmstat
, iostat
и ifstat
Использование таких инструментов, как lscpu и lshw
С помощью таких инструментов, как lscpu, поскольку lscpu - это простой способ получить информацию о процессоре.
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Stepping: 10
CPU MHz: 1998.000
BogoMIPS: 5303.14
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 2048K
NUMA node0 CPU(s): 0-3
Используя инструмент lshw
$ lshw | grep cpu
df1-ws-5084
description: Computer
width: 64 bits
capabilities: vsyscall32
*-core
description: Motherboard
physical id: 0
*-memory
description: System memory
physical id: 0
size: 5881MiB
*-cpu
product: Intel(R) Pentium(R) CPU G3220 @ 3.00GHz
vendor: Intel Corp.
physical id: 1
bus info: cpu@0
size: 3GHz
capacity: 3GHz
width: 64 bits