В данной статье пойдет речь о способах сбора сведений об оборудовании компьютера, который находится под управлением операционных систем семейства UNIX, такие как Linux и BSD. Также, будет немного затронута часть получения системной информации. Действия будут выполняться из командной строки без графической оболочки — их можно выполнить, подключившись к компьютеру удаленно по SSH.
Команды для получения данных о процессоре.
Команда показывает информацию о характеристиках процессора в удобном виде:
Пример ответа:
Architecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little EndianCPU(s): 8On-line CPU(s) list: 0-7Thread(s) per core: 1Core(s) per socket: 4Socket(s): 2NUMA node(s): 1Vendor ID: GenuineIntelCPU family: 6Model: 62Model name: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHzStepping: 4CPU MHz: 2592.918BogoMIPS: 5187.50Hypervisor vendor: VMwareVirtualization type: fullL1d cache: 32KL1i cache: 32KL2 cache: 256KL3 cache: 20480KNUMA node0 CPU(s): 0-7
* больше всего нас интересует:
Команда отображает множество данных, поэтому добавляем фильтр:
sysctl -a | egrep -i ‘hw.machine|hw.model|hw.ncpu’
hw.model: Intel(R) Xeon(R) CPU X5690 @ 3.47GHzhw.machine: amd64hw.ncpu: 2
* на самом деле, команда sysctl работает и в Linux, но формат вывода менее удобен, по сравнению с вышерассмотренной lscpu.
Позволяет увидеть подробную информацию по каждому ядру:
cat /proc/cpuinfo
Команда для подсчета количества ядер:
cat /proc/cpuinfo | grep processor | wc -l
Сначала необходимо установить утилиту.
На CentOS (RPM):
yum install lm_sensors
Ubuntu (Deb):
apt-get install lm-sensors
После установки утилиты выполняем:
sensors-detect
Загружаем необходимый модуль:
kldload coretemp
* для автоматической его загрузки добавляем в файл /boot/loader.conf строку coretemp_load=”YES”
Вводим команду:
sysctl -a | grep temperature
dev.cpu.0.temperature: 40.0Cdev.cpu.1.temperature: 41.0C
Команда:
cat /proc/meminfo
MemTotal: 8010284 kBMemFree: 1058580 kBMemAvailable: 2791616 kBBuffers: 1884 kBCached: 1754092 kBSwapCached: 122280 kBActive: 4330296 kBInactive: 2006792 kBActive(anon): 3623768 kBInactive(anon): 983120 kBActive(file): 706528 kBInactive(file): 1023672 kBUnevictable: 0 kBMlocked: 0 kBSwapTotal: 1048572 kBSwapFree: 597684 kBDirty: 20 kBWriteback: 0 kBAnonPages: 4466532 kBMapped: 92808 kBShmem: 25776 kBSlab: 408732 kBSReclaimable: 308820 kBSUnreclaim: 99912 kBKernelStack: 7312 kBPageTables: 23276 kBNFS_Unstable: 0 kBBounce: 0 kBWritebackTmp: 0 kBCommitLimit: 5053712 kBCommitted_AS: 3770324 kBVmallocTotal: 34359738367 kBVmallocUsed: 159328 kBVmallocChunk: 34359341052 kBHardwareCorrupted: 0 kBAnonHugePages: 3248128 kBHugePages_Total: 0HugePages_Free: 0HugePages_Rsvd: 0HugePages_Surp: 0Hugepagesize: 2048 kBDirectMap4k: 257984 kBDirectMap2M: 8130560 kB
* чаще всего, самое важное:
* Объем используемой памяти = MemTotal – MemFree – Cached – Buffers.
Для перевода килобайт в гигабайты можно воспользоваться онлайн калькулятором.
Данная команда позволяет получить информацию об использовании памяти в удобной таблице. Для еще большего удобства, мы выведем ее с помощью дополнительного параметра -h:
total used free shared buff/cache availableMem: 3,7G 568M 378M 193M 2,8G 2,6GSwap: 4,0G 94M 3,9G
sysctl hw.physmem
hw.physmem: 2123677696
Работает на BSD и Linux:
dmesg | grep memory
Итог:
real memory = 2147483648 (2048 MB)avail memory = 2042109952 (1947 MB)
Для получения информации по оперативной памяти также можно использовать команды:
* для htop необходима установка одноименной утилиты.
1. Узнать производителя и модель:
dmidecode -t baseboard
2. Подробная информация:
Команда выдает информацию о подмонтированных разделах и объемах, занимаемых ими:
Файловая система Размер Использовано Дост Использовано% Cмонтировано в/dev/mapper/sys-root 25G 11G 15G 41% /devtmpfs 1,9G 0 1,9G 0% /devtmpfs 1,9G 4,0K 1,9G 1% /dev/shmtmpfs 1,9G 193M 1,7G 11% /runtmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup/dev/sda1 1014M 186M 829M 19% /boot
Подробная информация о диске и его разделах:
fdisk /dev/sda -l
Ответ:
Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000d5e55
Устр-во Загр Начало Конец Блоки Id Система/dev/sda1 * 2048 2099199 1048576 83 Linux/dev/sda2 2099200 62914559 30407680 8e Linux LVM
Команда позволяем увидеть загруженность дисковой системы. Утилиты может не быть в системе — сначала ее нужно установить.
а) на Ubuntu / Debian:
apt-get install iotop
б) на CentOS / Red Hat:
yum install iotop
После установки утилита запускается командой:
Вывод похож на top:
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/sActual 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] …
Утилита позволяет получить SMART дисковых накопителей. По умолчанию, она не установлена — установка выполняется из репозитория.
apt-get install smartmontools
yum install smartmontools
После установки можно использовать:
smartctl -A /dev/sda
* в данном примере мы увидим SMART для диска sda.
Если мы хотим получить информацию по всем дискам, вводим команды по очереди для каждого или:
find /dev -name ‘sd[a-z]’ -exec smartctl -A {} \;
Если говорить об аналогах таких программ, как AIDA или Speccy в Linux можно воспользоваться утилитой lshw. Для некоторых дистрибутивов ее нужно сначала установить, например:
yum install lshw
* установка в системах на основе Red Hat.
Информацию получаем вводом простой команды:
Или в более удобном и читаемом виде:
lshw -html > linux_hw_info.html
Немного о способах получения информации о системе UNIX.
1. Узнать, какая система установлена:
Чтобы уточнить версию дистрибутива Linux, также нужно ввести одну из команд:
cat /etc/redhat-release
cat /etc/lsb-release
cat /proc/version
cat /etc/issue
* первая команда для дистрибутивов на базе RMP, вторая — некоторых deb, третья и четвертая — для Debian.
2. Архитектура:
* также можно использовать команду arch.
3. Версия ядра:
В рамках данной статьи просто перечислим утилиты, которые можно использовать для тестирования компьютера на UNIX.
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies