Получаем информацию о железе сервера в Linux

Вы можете узнать, какое железо установлено в вашем сервере из BIOS/UEFI, или через отдельный управляющий интерфейс сервера, который есть у большинства промышленных серверов (HPE ILO, Dell iDRAC, IBM BMC, IPMI и т.д.). А что делать, если у сервера нет интерфейса управления (или он не доступен), а перезагружать сервер перезагружать не желательно? В этой статье на примере CentOS мы рассмотрим основные команды и утилиты Linux, которые позволят получить подробные сведения об аппаратном обеспечении сервера: оперативной памяти, процессоре, жестких дисках, материнской плате и настройках BIOS.

Информация об оперативной памяти (RAM) в Linux

Вы можете получить информацию о количестве оперативной памяти на сервере с помощь встроенных средств Linux CentOS (данные команды не дают подробной информации, но вполне приемлемы для быстрой оценки).

# free -m

Или

# free -g

Первая покажет количество памяти в мегабайтах, вторая в гигабайтах (информация о количестве оперативной памяти указано в значении Mem: total ).

free - информация об оперативной памяти

Тут же будет и показан размер swap .

Также вы можете получить информацию о RAM из файла /proc/meminfo :

# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo

/proc/meminfo

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

Так же существует еще несколько вариантов проверки количества ОЗУ на сервере:

# vmstat -s

16044948 K total memory_x000D_625540 K used memory_x000D_2677508 K active memory_x000D_514664 K inactive memory_x000D_11327980 K free memory_x000D_169676 K buffer memory_x000D_3921752 K swap cache_x000D_8388604 K total swap_x000D_0 K used swap_x000D_8388604 K free swap_x000D_3633471 non-nice user cpu ticks_x000D_2229 nice user cpu ticks_x000D_11250866 system cpu ticks_x000D_5484997226 idle cpu ticks_x000D_4290610 IO-wait cpu ticks_x000D_0 IRQ cpu ticks_x000D_1059724 softirq cpu ticks_x000D_ 0 stolen cpu ticks_x000D_337077 pages paged in_x000D_115989880 pages paged out_x000D_0 pages swapped in_x000D_0 pages swapped out_x000D_3806699383 interrupts_x000D_3782319298 CPU context switches_x000D_1572865665 boot time_x000D_5825288 forks

Vmstat показывает не только физическую память сервера, но и всю статистику по виртуальной памяти.

Либо запустите команду top и посмотрите информацию о RAM в самом верхнем блоке:

команда top в linux информация о RAM

Так же, есть удобная утилита atop , которая покажет вам количество ОЗУ на сервере, а также информацию по занятой, кешированной и свободной памяти.

Вы можете установить утилиту atop из EPEL репозитория с помощью yum (dnf):

# yum install atop -y

Вывод atop:

atop - утилита с подробными данными об оперативной памяти, свопе

Должна быть в вашем арсенале и не менее удобная утилита nmon . Установите ее на сервер:

# yum install nmon -y

Выполните команду nmon, и для проверки ОЗУ нажмите m :

утилита nmon в centos linux

Но все вышеперечисленные утилиты, показывают лишь объем памяти, а модель скорость и другие характеристики нет. Если нужна более подробная информация о бланках памяти (производитель, тип, частота), можно воспользоваться утилитой dmidecode :

# dmidecode -t 17

dmidecode -t 17

Как видите, dmidecode выводит более подробную информацию о установленных модулях памяти.

Как узнать информацию о процессоре (CPU) в Linux?

Информацию о процессоре в Linux можно получить несколькими способами. Начнем с самого простого — получение информации из файла /proc/cpuinfo:

# cat /proc/cpuinfo | grep model

/proc/cpuinfo информация о процессорах на linux сервере

Чтобы узнать количество ядер, выполните:

# cat /proc/cpuinfo | grep processor

/proc/cpuinfo | grep processor - количество ядер

В моем случае на сервере 8 ядер.

Более подробную информацию о процессоре, можно узнать командой lscpu :

# lscpu

lscpu - команда с полной информацией о процессоре, модели, частоте, скоросте

Утилита lscpu покажет вам количество ядер, модель процессора, максимальную частоту, рамеры кэшей CPU, ноды NUMA и многое другое.

Количество ядер, так же можно узнать запустив команду atop или nproc --all:

atop данные по ядрам

nproc --all количество ядер в CPU

Для отображения подробной информации, можно дополнительно установить утилиту cpuid :

# yum install cpuid -y

После установки запустите командой:

# cpuid

утилита cpuid в linux - подробная информация о CPU

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

С помощью утилиты demidecodev вы так же можете узнать всю информацию об установленных на сервере процессорах:

# dmidecode --type processor

dmidecode --type processor

И, пожалуй, последняя утилита для проверки процессора inxi . Это скрипт на bash, который покажет вам модель процессора, размер кеша, частоту и дополнительные возможности процессора. Установим его:

# yum install inxi -y

Запустите скрипт:

# inxi -C

скрипт inxi

Информация о жестких дисках сервера в Linux

Чтобы получить информацию о жестких дисках в системе, я обычно использую утилиту hdparm . Сначала нужно установить ее из репозитория:

# yum install hdparm -y

Чтобы получить инфу по жесткому диску, нужно указать название устройства:

# hdparm -I /dev/sdb

hdparm - просмот информации о типах жестких дисков

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

Вторая не менее популярная утилита это smartctl (она по умолчанию уже установлена в системе). Чтобы вывести информацию о диске, выполните:

# smartctl -d ata -a -i /dev/sdb

Информация будет предоставлена так же подробно:

smartctl

Очередная, очень удобная утилита lshw . Установите ее:

# yum install lshw -y

Выполните команду:

# lshw -class disk

lshw -class disk

Утилита dmidecode: получения информации о материнской плате, BIOS и др.

В данном разделе я приведу примеры более расширенного использования утилиты dmidecode . Dmidecode позволяет получить информацию об аппаратном обеспечении сервера на основе данных из BIOS по стандарту SMBIOS/DMI.

С помощью dmidecode мы можем получить информацию о материнской плате, bios, шасси и слотах сервера. Например:

# dmidecode --type baseboard – получим информацию о материнской плате.

dmidecode --type baseboard

# dmidecode --type bios – информация о BIOS (версия, поддерживаемые функции).

dmidecode --type bios

# dmidecode --type chassis – сведения о корпусе (шасси) сервера.

dmidecode --type chassis

# dmidecode --type slot – сведения о используемых слотах на материнской плате.

dmidecode --type slot

Чтобы собрать вообще всю информацию о железе вашего сервера Linux, можно воспользоваться ранее указанную утилиту lshw :

# lshw -html > server_info.html

Вся информация будет выгружена в html файл.

lshw -html

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

EnglishRussianUkrainian