- Получаем информацию о железе сервера в Linux
- Информация об оперативной памяти (RAM) в Linux
- Как узнать информацию о процессоре (CPU) в Linux?
- Информация о жестких дисках сервера в Linux
- Утилита dmidecode: получения информации о материнской плате, BIOS и др.
- Как узнать количество памяти в Linux, Ubuntu
- Файл /proc/meminfo
- Команда free
- Опции
- Команда vmstat
- Команда top
- UPD от 19.11.2015
Получаем информацию о железе сервера в 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 файл.
Итак, мы рассмотрели, как получить информацию о аппаратном обеспечении вашего сервера. Надеюсь, информация будет полезна многим пользователям, а может и администраторам.
Предыдущая статья Следующая статья
Как узнать количество памяти в Linux, Ubuntu
Как можно узнать количество оперативной памяти (свободной, занятой, всего) в Linux (debian, ubuntu и пр.)?
Вы можете использовать следующие команды в терминале, чтобы выяснить реальный размер RAM под Linux, либо удаленно по ssh для сервера с Linux.
Файл /proc/meminfo
MemTotal: 512000 kB MemFree: 64728 kB Buffers: 0 kB Cached: 0 kB SwapCached: 0 kB Active: 0 kB Inactive: 0 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 512000 kB LowFree: 64728 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 2080 kB Writeback: 0 kB AnonPages: 0 kB Mapped: 0 kB Slab: 0 kB PageTables: 0 kB NFS_Unstable: 0 kB Bounce: 0 kB CommitLimit: 0 kB Committed_AS: 0 kB VmallocTotal: 0 kB VmallocUsed: 0 kB VmallocChunk: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 Hugepagesize: 2048 kB
Команда free
Команда free отображает общее количество свободной и занятой физической и своп памяти в системе, а также буферы, используемые ядром:
total used free shared buffers cached Mem: 500 436 63 0 0 0 -/+ buffers/cache: 436 63 Swap: 0 0 0
Опции
The -b switch displays the amount of memory in bytes; the -k switch (set by default) displays it in kilobytes; the -m switch displays it in megabytes. The -t switch displays a line containing the totals. The -o switch disables the display of a "buffer adjusted" line. If the -o option is not specified, free subtracts buffer memory from the used memory and adds it to the free memory reported. The -s switch activates continuous polling delay seconds apart. You may actually specify any floating point number for delay, usleep(3) is used for microsecond resolution delay times.
Команда vmstat
Комманда vmstat показывает статистику памяти включая дополнительную информацию о процессах
512000 K total memory 448132 K used memory 0 K active memory 0 K inactive memory 63868 K free memory 0 K buffer memory 0 K swap cache 0 K total swap 0 K used swap 0 K free swap 16956820 non-nice user cpu ticks 3531 nice user cpu ticks 3533257 system cpu ticks 459840831 idle cpu ticks 141559 IO-wait cpu ticks 0 IRQ cpu ticks 0 softirq cpu ticks 0 stolen cpu ticks 1424740 pages paged in 37143676 pages paged out 0 pages swapped in 0 pages swapped out 0 interrupts 1889466486 CPU context switches 1373407048 boot time 490111497 forks
Команда top
Эту команду я люблю больше всего, за ее реалтаймовость. Показывает в настоящем времени общую информацию о памяти, загруженности процессора и процессах которые выполняются
03:22:24 up 56 days, 2:24, 1 user, load average: 1.49, 1.29, 1.28 Mem: 512000k total, 448372k used, 63628k free, 0k buffers Swap: 0k total, 0k used, 0k free, 0k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1628 mysql 15 0 265m 56m 7824 S 14.3 11.3 789:48.32 mysqld 26074 usamotor 15 0 193m 49m 7488 S 11.3 9.9 12:15.55 php 13721 usamotor 15 0 191m 45m 7472 R 7.3 9.1 2:18.71 php 1 root 15 0 8364 848 724 S 0.0 0.2 1:04.34 init 1397 root 15 0 63312 1996 1284 S 0.0 0.4 0:12.50 nmbd 1401 root 15 0 93348 3488 2516 S 0.0 0.7 0:05.01 smbd 1420 root 18 0 93480 1684 608 S 0.0 0.3 0:00.00 smbd 1421 root 23 0 54572 992 500 S 0.0 0.2 0:00.00 saslauthd 1422 root 23 0 54572 648 156 S 0.0 0.1 0:00.00 saslauthd 1429 root 15 0 5988 732 572 S 0.0 0.1 0:37.04 syslogd 1436 daemon 18 0 18720 440 284 S 0.0 0.1 0:00.00 atd 1444 bind 25 0 121m 11m 2388 S 0.0 2.3 0:00.55 named 1458 root 15 0 220m 13m 7616 S 0.0 2.7 2:14.62 apache2 1519 root 25 0 9144 1396 1136 S 0.0 0.3 0:00.00 mysqld_safe 1629 root 25 0 3860 664 568 S 0.0 0.1 0:00.00 logger 1680 root 18 0 21244 924 656 S 0.0 0.2 0:01.17 dovecot 1681 dovecot 15 0 12908 1148 876 S 0.0 0.2 0:00.52 anvil 1682 root 15 0 12908 1196 904 S 0.0 0.2 0:00.41 log 1766 root 15 0 72972 3156 1464 S 0.0 0.6 1:38.07 sendmail-mta 1783 root 15 0 49184 1168 620 S 0.0 0.2 0:27.42 sshd 1791 root 18 0 19340 984 780 S 0.0 0.2 0:00.00 xinetd 1806 root 16 0 33288 2036 1044 S 0.0 0.4 0:00.01 nginx 3209 root 19 0 20916 1016 772 S 0.0 0.2 0:16.68 cron 7983 proftpd 15 0 190m 2000 672 S 0.0 0.4 0:02.39 proftpd 8183 root 15 0 78980 3468 2748 S 0.0 0.7 0:00.01 sshd 9221 usamotor 15 0 78980 1728 988 R 0.0 0.3 0:00.22 sshd 9222 usamotor 15 0 121m 2164 1640 S 0.0 0.4 0:00.02 bash 11507 root 15 0 178m 13m 7812 S 0.0 2.6 0:50.33 ispmgr 13717 root 18 0 36740 3352 2816 S 0.0 0.7 0:00.00 cronrun 13719 usamotor 18 0 46056 1500 1196 S 0.0 0.3 0:00.00 su 13720 usamotor 20 0 9084 1240 1044 S 0.0 0.2 0:00.00 sh 15366 root 15 0 41956 1256 932 S 0.0 0.2 0:00.00 cron 15367 root 15 0 9068 1220 1036 S 0.0 0.2 0:00.00 sh 15368 root 20 0 9068 640 452 S 0.0 0.1 0:00.00 sh 15369 root 16 0 3860 596 496 S 0.0 0.1 0:00.00 run-parts 15381 root 18 0 9072 1256 1072 S 0.0 0.2 0:00.00 logrotate 15382 root 18 0 3876 508 432 S 0.0 0.1 0:00.00 sleep 16095 root 15 0 41956 1256 932 S 0.0 0.2 0:00.00 cron 16096 root 15 0 9068 1236 1056 S 0.0 0.2 0:00.00 sh 16097 root 15 0 3860 592 492 S 0.0 0.1 0:00.00 run-parts
UPD от 19.11.2015
Для того чтоб посмотреть сколько используется памяти сейчас использую htop. Который нужно предаврительно установить командой