Categories: Советы

Получение информации о компьютере на UNIX

В данной статье пойдет речь о способах сбора сведений об оборудовании компьютера, который находится под управлением операционных систем семейства UNIX, такие как Linux и BSD. Также, будет немного затронута тема получения системной информации и замера скорости и активности. Действия будут выполняться из командной строки без графической оболочки — их можно выполнить, подключившись к компьютеру удаленно по SSH .

Информация о процессоре

Команды для получения данных о процессоре.

1. lscpu (Linux)

Команда показывает информацию о характеристиках процессора в удобном виде:

lscpu

Пример ответа:

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

Команда для подсчета количества ядер:

cat /proc/cpuinfo | grep processor | wc -l

4. Температура процессора

Linux

Сначала необходимо установить утилиту.

На CentOS (RPM):

yum install lm_sensors

Ubuntu (Deb):

apt install lm-sensors

После установки утилиты выполняем:

sensors-detect

sensors

FreeBSD

Загружаем необходимый модуль:

kldload coretemp

* для автоматической его загрузки добавляем в файл /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)

Команда:

cat /proc/meminfo

Пример ответа:

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:

free -m

Пример ответа:

total used free shared buff/cache available
Mem: 3,7G 568M 378M 193M 2,8G 2,6G
Swap: 4,0G 94M 3,9G

3. sysctl (FreeBSD)

sysctl hw.physmem

Пример ответа:

hw.physmem: 2123677696

4. dmesg

Работает на BSD и Linux:

dmesg | grep memory

Итог:

real memory = 2147483648 (2048 MB)
avail memory = 2042109952 (1947 MB)

5. Другие команды

Для получения информации по оперативной памяти также можно использовать команды:

vmstat -s

top

htop

* для htop необходима установка одноименной утилиты.

Информация о материнской плате

Проще всего получить с помощью утилиты dmidecode. Для начала, ее нужно установить:

а) на Ubuntu / Debian:

apt install dmidecode

б) на CentOS / Red Hat / Rocky Linux:

yum install dmidecode

После можно пользоваться одноименной командой.

1. Узнать производителя и модель:

dmidecode -t baseboard

2. Подробная информация:

dmidecode

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

1. df

Команда выдает информацию о подмонтированных разделах и объемах, занимаемых ими:

df -h

Пример ответа:

Файловая система Размер Использовано Дост Использовано% Cмонтировано в
/dev/mapper/sys-root 25G 11G 15G 41% /
devtmpfs 1,9G 0 1,9G 0% /dev
tmpfs 1,9G 4,0K 1,9G 1% /dev/shm
tmpfs 1,9G 193M 1,7G 11% /run
tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup
/dev/sda1 1014M 186M 829M 19% /boot

2. fdisk

Подробная информация о диске и его разделах:

fdisk /dev/sda -l

Ответ:

Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d5e55

Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 62914559 30407680 8e Linux LVM

3. iotop

Команда позволяем увидеть загруженность дисковой системы. Утилиты может не быть в системе — сначала ее нужно установить.

а) на Ubuntu / Debian:

apt install iotop

б) на CentOS / Red Hat / Rocky Linux:

yum install iotop

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

iotop

Вывод похож на top:

Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd —swi…
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
1542 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bioset]

4. smartmontools

Утилита позволяет получить SMART дисковых накопителей. По умолчанию, она не установлена — установка выполняется из репозитория.

а) на Ubuntu / Debian:

apt install smartmontools

б) на CentOS / Red Hat / Rocky Linux:

yum install smartmontools

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

smartctl -a /dev/sda

* в данном примере мы увидим полный тест для диска sda .

Список устройств с дисковыми накопителями можно посмотреть командой:

lsblk

Если нам нужно посмотреть только общее состояние здоровья, то используем опцию H:

smartctl -H /dev/sda

Однако, если один из тестов будет показывать Pre-fail , опция -H , все равно, покажет PASSED . Поэтому лучше смотреть состояние командой:

smartctl -A /dev/sda

Она покажет таблицу с результатами тестов.

Если мы хотим получить информацию по всем дискам, вводим команды по очереди для каждого или:

find /dev -name ‘sd[a-z]’ -exec smartctl -a {} ;

5. Замер скорости чтения и записи.

Для данных замеров нужно использовать разные утилиты — hdparm (чтение) и dd (запись).

hdparm

Позволяет произвести замер скорости чтения. По умолчанию, отсутствует в системе и требуется установка.

а) на Ubuntu / Debian:

apt install hdparm

б) на CentOS / Red Hat / Rocky Linux:

yum install hdparm

После установки утилиты, можно начать замер скорости.

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

hdparm -tT /dev/sda

* в данном примере мы замерим скорость чтения диска /dev/sda . Чтобы посмотреть в вашей системе список дисков, используем команду:

lsblk

Мы увидим что-то на подобие:

/dev/sda:
Timing cached reads: 9614 MB in 2.00 seconds = 4809.90 MB/sec
Timing buffered disk reads: 1006 MB in 3.00 seconds = 334.82 MB/sec

dd

С замером скорости записи все немного проще. Утилита является встроенной.

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

dd if=/dev/zero of=/tmp/output bs=8k count=1000k; rm -f /tmp/output

* в данном примере мы выполним запись около 8 Гб данных во временный файл /tmp/output. После удалим его.

Прежде чем выполнять данную команду, необходимо убедиться, что у нас достаточно места на диске.

6. Проверка блоков

Выполнить полную проверку диска на наличие испорченных кластеров можно с помощью команды badblocks.

Синтаксис:

badblocks -v <путь до диска, который нужно проверить> > <файл, куда сохранить отчет>

Например:

badblocks -v /dev/sda > /tmp/bad-blocks.txt

* в нашем примере будет выполнена проверка диска /dev/sda . Информация с результатом будет сохранена в файле /tmp/bad-blocks.txt .

7. Информация об оборудовании

Получить подробные сведения о диске (модель, технические детали) можно с помощью утилиты hdparm. Для начала необходимо ее установить.

а) на Ubuntu / Debian / Astra Linux:

apt install hdparm

б) на CentOS / Red Hat / Rocky Linux / РЕД ОС:

yum install hdparm

После установки утилиты, можно получить информацию о железе.

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

hdparm -I /dev/sda

Сетевые интерфейсы

Рассмотрим несколько команд по работе с сетевыми интерфейсами.

1. lspci

Самая простая команда. Она не покажет подробностей, но позволит увидеть модели сетевых адаптеров и не требует установки дополнительных пакетов:

lspci | grep -i «net»

2. ip

Данная команда покажет не только физические интерфейсы, но и логические, а также MAC-адреса и назначенные им IP-адреса:

ip address

Для вывода в компактном виде без IP-адресов:

ip link

3. ethtool

Утилита покажет более подробную информацию по сетевому адаптеру. Для начала ее необходимо установить.

а) На DEB-дистрибутив:

apt install ethtool

б) На RPM:

yum install ethtool

Теперь можно вводить:

ethtool eth0

* где eth0 — сетевой интерфейс, информацию о котором нужно посмотреть. Список данных интерфейсов мы можем посмотреть вышеописанной командной ip link .

4. Сетевая активность

Для измерения нагрузки на сеть необходимо установить утилиту nload.

а) На DEB-дистрибутив:

apt install nload

б) На RPM:

yum install nload

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

nload -ni eth0

* в данном примере будет запущена статистика для использования сетевого интерфейса eth0 .

Сбор полной информации о конфигурации компьютера

Если говорить об аналогах таких программ, как AIDA или Speccy в Linux можно воспользоваться утилитой lshw . Для некоторых дистрибутивов ее нужно сначала установить, например:

yum install lshw

* установка в системах на основе Red Hat.

Информацию получаем вводом простой команды:

lshw

Или в более удобном и читаемом виде:

lshw -html > linux_hw_info.html

Системная информация

Немного о способах получения информации о системе UNIX.

1. Узнать, какая система установлена:

uname -a

Чтобы уточнить версию дистрибутива Linux, также нужно ввести одну из команд:

cat /etc/redhat-release

cat /etc/lsb-release

cat /proc/version

cat /etc/issue

* первая команда для дистрибутивов на базе RMP, вторая — некоторых deb, третья и четвертая — для Debian.

2. Архитектура:

uname -m

* также можно использовать команду arch .

3. Версия ядра:

uname -r

Тестирование компьютера

В рамках данной статьи дополнительно перечислим некоторые утилиты, которые можно использовать для тестирования компьютера на UNIX.

  1. Stress-ng. Выполняет стресс-тест на оборудование. Полезна, если нужно вычислить сбойный элемент.
  2. Phoronix Test Suite. Тест производительности.
  3. Geekbench. Тест производительности процессора.
  4. GFXBench. Тест видеокарты.
admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago