- Получаем информацию о железе сервера в Linux
- Информация об оперативной памяти (RAM) в Linux
- Как узнать информацию о процессоре (CPU) в Linux?
- Информация о жестких дисках сервера в Linux
- Утилита dmidecode: получения информации о материнской плате, BIOS и др.
- Получение информации о компьютере на UNIX
- Информация о процессоре
- 1. lscpu (Linux)
- 2. sysctl -a (FreeBSD)
- 3. Файл /proc/cpuinfo (Linux)
- 4. Температура процессора
- Linux
- FreeBSD
- Информация об оперативной памяти
- 1. Файл /proc/meminfo (Linux)
- 2. free (Linux)
- Как в Linux посмотреть количество ядер процессора
- Как в Linux посмотреть количество ядер процессора в командной строке
- lscpu
- inxi
- Как в Linux посмотреть количество ядер процессора в графическом интерфейсе
Получаем информацию о железе сервера в Linux
31.01.2020
VyacheslavK
CentOS, Linux
Комментариев пока нет
Вы можете узнать, какое железо установлено в вашем сервере из BIOS/UEFI, или через отдельный управляющий интерфейс сервера, который есть у большинства промышленных серверов (HPE ILO, Dell iDRAC, IBM BMC, IPMI и т.д.). А что делать, если у сервера нет интерфейса управления (или он не доступен), а перезагружать сервер перезагружать не желательно? В этой статье на примере CentOS мы рассмотрим основные команды и утилиты Linux, которые позволят получить подробные сведения об аппаратном обеспечении сервера: оперативной памяти, процессоре, жестких дисках, материнской плате и настройках BIOS.
Информация об оперативной памяти (RAM) в Linux
Вы можете получить информацию о количестве оперативной памяти на сервере с помощь встроенных средств Linux CentOS (данные команды не дают подробной информации, но вполне приемлемы для быстрой оценки).
Первая покажет количество памяти в мегабайтах, вторая в гигабайтах (информация о количестве оперативной памяти указано в значении Mem: total).
Тут же будет и показан размер swap.
Также вы можете получить информацию о RAM из файла /proc/meminfo:
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
Первый вариант на мой взгляд удобнее, так как вы сразу видите и используемую память, и свободную.
Так же существует еще несколько вариантов проверки количества ОЗУ на сервере:
16044948 K total memory 625540 K used memory 2677508 K active memory 514664 K inactive memory 11327980 K free memory 169676 K buffer memory 3921752 K swap cache 8388604 K total swap 0 K used swap 8388604 K free swap 3633471 non-nice user cpu ticks 2229 nice user cpu ticks 11250866 system cpu ticks 5484997226 idle cpu ticks 4290610 IO-wait cpu ticks 0 IRQ cpu ticks 1059724 softirq cpu ticks 0 stolen cpu ticks 337077 pages paged in 115989880 pages paged out 0 pages swapped in 0 pages swapped out 3806699383 interrupts 3782319298 CPU context switches 1572865665 boot time 5825288 forks
Vmstat показывает не только физическую память сервера, но и всю статистику по виртуальной памяти.
Либо запустите команду top и посмотрите информацию о RAM в самом верхнем блоке:
Так же, есть удобная утилита atop, которая покажет вам количество ОЗУ на сервере, а также информацию по занятой, кешированной и свободной памяти.
Вы можете установить утилиту atop из EPEL репозитория с помощью yum (dnf):
Должна быть в вашем арсенале и не менее удобная утилита nmon. Установите ее на сервер:
Выполните команду nmon, и для проверки ОЗУ нажмите m:
Но все вышеперечисленные утилиты, показывают лишь объем памяти, а модель скорость и другие характеристики нет. Если нужна более подробная информация о бланках памяти (производитель, тип, частота), можно воспользоваться утилитой dmidecode:
Как видите, dmidecode выводит более подробную информацию о установленных модулях памяти.
Как узнать информацию о процессоре (CPU) в Linux?
Информацию о процессоре в Linux можно получить несколькими способами. Начнем с самого простого — получение информации из файла /proc/cpuinfo:
# cat /proc/cpuinfo | grep model
Чтобы узнать количество ядер, выполните:
# cat /proc/cpuinfo | grep processor
В моем случае на сервере 8 ядер.
Более подробную информацию о процессоре, можно узнать командой lscpu:
Утилита lscpu покажет вам количество ядер, модель процессора, максимальную частоту, рамеры кэшей CPU, ноды NUMA и многое другое.
Количество ядер, так же можно узнать запустив команду atop или nproc —all:
Для отображения подробной информации, можно дополнительно установить утилиту cpuid:
После установки запустите командой:
Вы получите информацию не только о модели процессора, но тип и семейство процессора, конфигурацию кеша, функцию управления питанием и другое.
С помощью утилиты demidecodev вы так же можете узнать всю информацию об установленных на сервере процессорах:
И, пожалуй, последняя утилита для проверки процессора inxi. Это скрипт на bash, который покажет вам модель процессора, размер кеша, частоту и дополнительные возможности процессора. Установим его:
Информация о жестких дисках сервера в Linux
Чтобы получить информацию о жестких дисках в системе, я обычно использую утилиту hdparm. Сначала нужно установить ее из репозитория:
Чтобы получить инфу по жесткому диску, нужно указать название устройства:
Как видите, при проверке отображается модель диска, серийный номер, версия прошивки диска, цилиндрах, rpm, поддерживаемые функции и ряд другой информации.
Вторая не менее популярная утилита это smartctl (она по умолчанию уже установлена в системе). Чтобы вывести информацию о диске, выполните:
# smartctl -d ata -a -i /dev/sdb
Информация будет предоставлена так же подробно:
Очередная, очень удобная утилита lshw. Установите ее:
Утилита dmidecode: получения информации о материнской плате, BIOS и др.
В данном разделе я приведу примеры более расширенного использования утилиты dmidecode. Dmidecode позволяет получить информацию об аппаратном обеспечении сервера на основе данных из BIOS по стандарту SMBIOS/DMI.
С помощью dmidecode мы можем получить информацию о материнской плате, bios, шасси и слотах сервера. Например:
# dmidecode —type baseboard – получим информацию о материнской плате.
# dmidecode —type bios – информация о BIOS (версия, поддерживаемые функции).
# dmidecode —type chassis – сведения о корпусе (шасси) сервера.
# dmidecode —type slot – сведения о используемых слотах на материнской плате.
Чтобы собрать вообще всю информацию о железе вашего сервера Linux, можно воспользоваться ранее указанную утилиту lshw:
# lshw -html > server_info.html
Вся информация будет выгружена в html файл.
Итак, мы рассмотрели, как получить информацию о аппаратном обеспечении вашего сервера. Надеюсь, информация будет полезна многим пользователям, а может и администраторам.
Предыдущая статья Следующая статья
Получение информации о компьютере на UNIX
Обновлено: 23.06.2023 Опубликовано: 19.06.2018
В данной статье пойдет речь о способах сбора сведений об оборудовании компьютера, который находится под управлением операционных систем семейства UNIX, такие как Linux и BSD. Также, будет немного затронута тема получения системной информации и замера скорости и активности. Действия будут выполняться из командной строки без графической оболочки — их можно выполнить, подключившись к компьютеру удаленно по SSH.
Информация о процессоре
1. lscpu (Linux)
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 2
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
Stepping: 4
CPU MHz: 2592.918
BogoMIPS: 5187.50
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 20480K
NUMA node0 CPU(s): 0-7
- Architecture — архитектура процессора — 32 бит или 64.
- Core(s) per socket — количество ядер на процессор.
- Socket(s) — количество физических/виртуальных процессоров.
- CPU(s) — суммарное количество процессорных ядер.
- Model name — модель процессора.
2. sysctl -a (FreeBSD)
Команда отображает множество данных, поэтому добавляем фильтр:
sysctl -a | egrep -i ‘hw.machine|hw.model|hw.ncpu’
hw.model: Intel(R) Xeon(R) CPU X5690 @ 3.47GHz
hw.machine: amd64
hw.ncpu: 2
* на самом деле, команда sysctl работает и в Linux, но формат вывода менее удобен, по сравнению с вышерассмотренной lscpu.
3. Файл /proc/cpuinfo (Linux)
Позволяет увидеть подробную информацию по каждому ядру:
Команда для подсчета количества ядер:
cat /proc/cpuinfo | grep processor | wc -l
4. Температура процессора
Linux
Сначала необходимо установить утилиту.
После установки утилиты выполняем:
FreeBSD
Загружаем необходимый модуль:
* для автоматической его загрузки добавляем в файл /boot/loader.conf строку coretemp_load=»YES»
sysctl -a | grep temperature
dev.cpu.0.temperature: 40.0C
dev.cpu.1.temperature: 41.0C
Информация об оперативной памяти
1. Файл /proc/meminfo (Linux)
MemTotal: 8010284 kB
MemFree: 1058580 kB
MemAvailable: 2791616 kB
Buffers: 1884 kB
Cached: 1754092 kB
SwapCached: 122280 kB
Active: 4330296 kB
Inactive: 2006792 kB
Active(anon): 3623768 kB
Inactive(anon): 983120 kB
Active(file): 706528 kB
Inactive(file): 1023672 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 1048572 kB
SwapFree: 597684 kB
Dirty: 20 kB
Writeback: 0 kB
AnonPages: 4466532 kB
Mapped: 92808 kB
Shmem: 25776 kB
Slab: 408732 kB
SReclaimable: 308820 kB
SUnreclaim: 99912 kB
KernelStack: 7312 kB
PageTables: 23276 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 5053712 kB
Committed_AS: 3770324 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 159328 kB
VmallocChunk: 34359341052 kB
HardwareCorrupted: 0 kB
AnonHugePages: 3248128 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 257984 kB
DirectMap2M: 8130560 kB
- MemTotal — общий объем оперативной памяти.
- MemFree — объем памяти, который не используется системой.
- Buffers — память, которая в данным момент ожидает записи на диск.
- Cached — объем, задействованный под кэш чтения с диска.
- MemAvailable — объем памяти, доступной в распределители без необходимости обмена.
- SwapTotal — объем файла подкачки.
- SwapFree — свободный объем файла подкачки.
* Объем используемой памяти = MemTotal – MemFree — Cached — Buffers.
Для перевода килобайт в гигабайты можно воспользоваться онлайн калькулятором.
2. free (Linux)
Данная команда позволяет получить информацию об использовании памяти в удобной таблице. Для еще большего удобства, мы выведем ее с помощью дополнительного параметра -h:
total used free shared buff/cache available
Mem: 3,7G 568M 378M 193M 2,8G 2,6G
Swap: 4,0G 94M 3,9G
Как в Linux посмотреть количество ядер процессора
Если нужно посмотреть, сколько ядер в центральном процессоре на компьютере под управлением Linux, то на ум приходит Системный монитор (System Monitor) — аналог Диспетчера задач в Windows. Но если Диспетчера задач действительно показывает количество ядер и логических процессоров, то в System Monitor можно увидеть только количество логических процессоров.
С помощью System Monitor нельзя узнать количество реальных ядер процессора. На этом скриншоте 12 ядер, если знать, что на каждое ядро по 2 потока, то понятно, что реальных ядер 6.
Но ситуация становится более запутанной с новыми процессорами, в которых могут быть P-ядра и E-ядра.
Как в Linux посмотреть количество ядер процессора в командной строке
lscpu
Чтобы посмотреть количество ядер процессора в командной строке выполните следующую команду:
lscpu | grep -E '^Thread|^Core|^Socket|^CPU\('
В этом выводе количество реальных ядер содержится в строке «Core(s) per socket». В строке «CPU(s)» показано количество логических ядер. В строке «Thread(s) per core» выводится количество потоков на одно ядро.
inxi
Ещё один способ вывести информацию о центральном процессоре, подсказанный пользователем в комментарии, это утилита inxi.
Inxi — это утилита командной строки для вывода информации о системе. inxi показывает системное оборудование, ЦП, драйверы, Xorg, рабочий стол, ядро, версии gcc, процессы, использование ОЗУ и множество другой полезной информации.
Для установки inxi в Debian и производные дистрибутивы (Linux Mint, Kali Linux, Ubuntu) выполните команду:
В Arch Linux и производных дистрибутивах (BlackArch, Manjaro) начните с установки pikaur, как это показано в статье «Автоматическая установка и обновление пакетов AUR», а затем выполните команду:
Для вывода информации о центральном процессоре выполните команду:
Количество ядер содержится в строке «Info: 6-core model» в начале вывода.
CPU: Info: 6-core model: Intel Core i7-8750H bits: 64 type: MT MCP cache: L2: 1.5 MiB Speed (MHz): avg: 1333 min/max: 800/4100 cores: 1: 2200 2: 2200 3: 900 4: 900 5: 2200 6: 900 7: 900 8: 900 9: 2200 10: 900 11: 900 12: 900
Как в Linux посмотреть количество ядер процессора в графическом интерфейсе
Если вы предпочитаете графический интерфейс, то установите программу hardinfo.
В Debian и производных дистрибутивах (Linux Mint, Kali Linux, Ubuntu) это можно сделать командой:
sudo apt install hardinfo
В Arch Linux и производных дистрибутивах (BlackArch, Manjaro) начните с установки pikaur, как это показано в статье «Автоматическая установка и обновление пакетов AUR», а затем выполните команду:
Затем запустите программу HardInfo, это можно сделать через меню Пуск или в командной строке:
Информацию о количестве ядер вы можете найти в двух местах. Во-первых, на вкладке «Общая информация»:
Во-вторых на вкладке «Процессор».