Новый выделенный сервер: приемка и проверка

Как узнать информацию о системе в linux? | блог линуксоида

Основные действия

Настройку IPMI я, пожалуй, опущу, т.к. в базовом варианте она состоит только в подключении сетевого интерфейса и нахождении на корпусе или материнской плате наклейки с паролём.

Подключение к BMC

  1. Скачать и установить Java-машину, если таковой еще нет;
  2. подключиться браузером к web-интерфейсу BMC-модуля и авторизоваться;
  3. перейти «Remote Control → Console Redirection» и нажать «Launch Console»;
  4. запустить скачанный файл «launch.jnlp», подключившись к «Java iKVM Viewer».

Монтирование образов

Этот способ прекрасно работает при подключении к рабочей сети по VPN через Интернет, хотя установка и занимает достаточно значительное время.

  1. Открыть окно виртуальных хранилищ, перейдя в «Virtual Media → Virtual Storage»;
  2. на закладке «Device1» в списке «Logical for Device1» выбрать «ISO File»;
  3. нажать «Open Image», выбрать дистрибутив Windows Server и нажать «Plug in»;
  4. на закладке «Device2» повторить действия 2 и 3 для образа с драйверами.

В этом самом месте я провел достаточно много лишнего времени, т.к. пытался подключить ISO-образ системы и образ дискеты с драйверами, лежащие на сетевом ресурсе в офисе, через web-интерфейс в разделе «Virtual Media → Floppy Disk/CDROM Image» – это по какой-то причине не работает! При таком способе подключения образ системы как-то не так монтируется и загрузиться с него в UEFI режиме невозможно, также, как и с образом дискеты происходит что-то не менее непонятное.

Настройка UEFI-BIOS

  1. Войти в «Aptio Setup Utility», т.е. BIOS;
  2. на закладке «Advanced» открыть раздел «PCH SATA Configuration»;
  3. параметр «Configure SATA as» установить в значение «RAID»;
  4. параметр «SATA RAID Option ROM/UEFI Driver» в значение «EFI»;
  5. для всех дисков, если надо, установить параметр «SATA Device Type» в «Solid State Drive»;
  6. выйти из текущего раздела, зайти в раздел «Intel(R) VOC SATA Controller» и создать нужные массивы;
  7. перейти на закладку «Boot»;
  8. установить параметр «Boot mode select» в значение «UEFI»;
  9. проверить, чтобы параметр «LEGACY to EFI support» был «Disable»;
  10. установить «Boot Option #1» в значение «UEFI USB CD/DVD:UEFI: ATEN Virtual CDROM YSOJ»;
  11. установить «Boot Option #2» в «UEFI Hard Disk»;
  12. остальные режимы загрузки от греха подальше отключить;
  13. перейти на закладку «Save & Exit» и нажать «Save Changes and Reset».

Установка Windows

При таких настройках установка системы в режиме UEFI проходит как обычно. Естественно, в окне «Где вы ходите установить Windows?» нужно нажать «Загрузить → Обзор → CD-дисковод «VROC», выбрать папку «VROC_XX_iaStorE_win8_64», нажать «Ок» и «Далее».

Теперь, как говорится, можно «откинуться на спинку кресла и отдохнуть»… особенно, если вы дома, сервер в офисе, а между вами непонятно какой Интернет!

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

Посмотреть модель и тип процессора в Ubuntu можно с помощью еще одной встроенной утилиты — lshw. Если запустить ее без ключей, то она выдаст очень много информации обо всех компонентах системы. Если вдруг у вас не окажется ее в системе, то поставить очень просто:

apt install lshw

Чтобы посмотреть информацию только о процессоре, используйте отдельный ключ для этого.

lshw -c cpu

С помощью lshw вы посмотрите следующие характеристики процессора в Ubuntu (на примере моего скриншота):

Производитель процессора Intel Corp.
Тип микросхема материнской платы Intel 440FX
Слот установки процессора slot: CPU 0
Частота процессора 2GHz
Разрядность 64 bits
Набор инструкций fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx x86-64 constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti
Количество ядер cores=4

Так же подробную информацию о процессоре можно получить с помощью dmidecode.

dmidecode --type processor

Вывод этой команды немного по-другому структурирован, но по содержимому практически идентичен lshw.

cat /proc/cpuinfo

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

Если вас окружили демоны — логируйте их немедленно!

Один из самых простых и банальных способов проверить, что происходит в системе, — это посмотреть системные логи. Вот тут можно почитать о том, какие секреты скрываются в каталоге
/var/log и откуда они там берутся. До недавнего времени основным механизмом записи логов был syslog, точнее, его относительно современная реализация rsyslog. Она до сих пор активно используется.

А что в авангарде? В современных дистрибутивах Linux на основе systemd используется свой механизм логирования, которым можно управлять через утилиту journalctl. Там есть крайне удобная фильтрация по разным параметрам и прочие плюшки.

Сам же systemd до сих пор остается довольно жарким топиком для обсуждения, поскольку «подминает» под себя многие устоявшиеся инструменты и предоставляет альтернативы к существующим решениям. Например, как запускать какой-то процесс регулярно? Crontab? Вовсе не обязательно, теперь у нас есть systemd timers. А как насчет настройки реакций на системные и «железные» события? В systemd есть поддержка watchdog. А что там со сменой корня — старый добрый chroot? Необязательно, теперь есть новенький systemd-nspawn.

pmap — Использование памяти процессом

Команда pmap сообщает о карте памяти процесса. используйте эту команду для поиска узких мест памяти. Информация о процессе с pid # 47394: Вывод:

47394:   /usr/bin/php-cgi
Address           Kbytes Mode  Offset           Device    Mapping
0000000000400000    2584 r-x-- 0000000000000000 008:00002 php-cgi
0000000000886000     140 rw--- 0000000000286000 008:00002 php-cgi
00000000008a9000      52 rw--- 00000000008a9000 000:00000   
0000000000aa8000      76 rw--- 00000000002a8000 008:00002 php-cgi
000000000f678000    1980 rw--- 000000000f678000 000:00000   
000000314a600000     112 r-x-- 0000000000000000 008:00002 ld-2.5.so
000000314a81b000       4 r---- 000000000001b000 008:00002 ld-2.5.so
000000314a81c000       4 rw--- 000000000001c000 008:00002 ld-2.5.so
000000314aa00000    1328 r-x-- 0000000000000000 008:00002 libc-2.5.so
000000314ab4c000    2048 ----- 000000000014c000 008:00002 libc-2.5.so
.....
......
..
00002af8d48fd000       4 rw--- 0000000000006000 008:00002 xsl.so
00002af8d490c000      40 r-x-- 0000000000000000 008:00002 libnss_files-2.5.so
00002af8d4916000    2044 ----- 000000000000a000 008:00002 libnss_files-2.5.so
00002af8d4b15000       4 r---- 0000000000009000 008:00002 libnss_files-2.5.so
00002af8d4b16000       4 rw--- 000000000000a000 008:00002 libnss_files-2.5.so
00002af8d4b17000  768000 rw-s- 0000000000000000 000:00009 zero (deleted)
00007fffc95fe000      84 rw--- 00007ffffffea000 000:00000   
ffffffffff600000    8192 ----- 0000000000000000 000:00000   
mapped: 933712K    writeable/private: 4304K    shared: 768000K

Последняя линия очень важна:

  • mapped: 933712K общий объем памяти выделенный на файлы
  • writeable/private: 4304K объем частного(private) адресного пространства
  • shared: 768000K объем памяти используемый этим процессом совместно с другими

Монтирование устройств

Команда Описание
mount /путь_к_директории/образ.iso -o loop /media/iso Монтирование образа iso в созданную/имеющуюся директорию /media/iso
mount file.iso /media/iso/ -t iso9660 -o loop Монтирование образа iso в созданную/имеющуюся директорию /media/iso
umount /media/iso/ Размонтирование образа из директории /media/iso/
modprobe loop При «Ошибка подключения ISO образа». Невозможно найти ни одного устройства обратной связи. Может быть ядро не знает об устройствах обратной связи.(В этом случае перекомпилируется ядро или выполните modprode loop)
ls /home | grep back Узнать существует каталог vps-backup для монтирования по команде mount /home/vps-backup, при ее отсутствии терминал вернет — mount: /home/vps-backup: Нет такого файла или каталога
mount | grep /dev/sdb Посмотреть куда примонтирован «sdb»
mount | column -t Получить информацию о текущих смонтированных файловых системах с удобным оформлением по столбцам
findmnt Отображает информацию в виде красивого дерева и сама форматирует столбцы, а также может найти нужную файловую систему
mount -t ntfs-3g -o rw,flush /dev/sdXx /mnt Принудительное монтирование раздела sdXx (,где Хх — ваш номер диска) с ntfs
ntfsfix /dev/sdxX Если не монтируется раздел с ntfs после перезагрузки с windows 10

Дополнительные утилиты

Все описанные ниже утилиты не входят в стандартную конфигурацию Debian, придется из ставить отдельно.

htop

Более сильная замена штатной утилиты top. В стандартной конфигурации с системой не поставляется. Предоставляет удобный интерактивный интерфейс со встроенной справкой и обновлением данных в реальном времени.
root@debian7:~# htop -d 10

Ключ -d выставляет значение в десятых долях секунды для обновления данных. Ключ -c переключает программу в монохромный режим работы.

lshw

Утилита предназначена для вывода подробной информации об аппаратном обеспечении. Наиболее удобно экспортировать данные в .html-вид и просматривать в браузере. Такой способ, конечно же, исключается при работе в консольном режиме, разве что если просматривать данные на другой системе.
root@debian7:~# lshw -C network

Команда выведет данные только о сетевой плате.

smartmontools

Пакет состоит из двух утилит (smartctl и smartd), которые следят за S.M.A.R.T-показателями жестких дисков. Для запуска демона необходимо произвести ряд настроек:

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

enable_smart=»/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde» start_smartd=yes smartd_opts=»—interval=1800″

Однако при запуске службы на виртуальной машине с Debian 7.7 у меня выдал ошибку (надо сказать, что отслеживание S.M.A.R.T на виртуальных жестких дисках достаточно бредовая идея, я это сделал лишь с целью протестировать):

Просмотреть состояние диска можно командой:
root@debian7:~# smartctl -a /dev/sda

hdparm

Главное предназначение программы — тонкая настройка параметров IDE/SATA жестких дисков, тюнинг производительности. Помимо этого также можно просматривать характеристики устройств командой (укажите свой диск):
root@debian7:~# hdparm -i /dev/sda

Вопросы настройки дисков в рамках этой статьи рассматривать не планируется.

ethtool

Произвести диагностику сетевой платы вам поможет утилита ethtool. Конечно вытянуть информацию можно и с помощью ifconfig, и dmesg и др., но несравнимо больше полезных данных вы получите именно от ethtool. Надо отметить, что с виртуальными сетевыми интерфейсами программа работает достаточно криво. Например отображение статистики по интерфейсу у меня вообще было пустое:
root@debian7:~# ethtool -S eth0no stats available

Общая информация об интерфейсе была примерно настолько же скудной:
root@debian7:~# ethtool eth0Settings for eth0:                Link detected: yes

С физическими интерфейсами ситуация обстоит значительно лучше. Помимо диагностики, утилита также предназначена для настройки интерфейсов.

sysstat

Пакет содержит в себе ряд утилит, способных выдавать информацию о производительности тех или иных компонентов системы. Особо полезным может быть iostat, когда нужно проанализировать загрузку жестких дисков в срезе операций ввода/вывода.

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

Notes:

  1. Package: dmidecode (2.12-4)
  2. Контролируем SMART HDD, с отчетом на e-mail. На примере FreeBSD и Debian/Ubuntu.
  3. Мониторинг SMART на Centos и Debian

comments powered by HyperComments

4 способа найти количество ядер CPU в Linux

Добавить в избранное

Главное меню » Операционная система Linux » 4 способа найти количество ядер CPU в Linux

Использование файловой системы Proc

Для того чтобы найти количество ядер CPU в Linux, можно воспользоваться файловой системой proc. Эта процедура представляет собой псевдо-файловую систему, которая отслеживает среду выполнения.

Для того, чтобы получить информацию центрального процессора, вам нужно просто cat “/proc/cpuinfo” в proc. Это дает детальную информацию о процессоре, таком как VENDOR_ID, семейства CPU, модель, CPU МГц и т.д., как показано ниже:

Следовательно, чтобы найти количество ядер CPU в Linux с точными деталями используйте следующую команду:

Вот в этом случае мы получили 3 процессора, число в диапазоне от 0 до 2.

С помощью команды lscpu

Вы также можете найти количество ядер CPU в Linux с помощью команды lscpu.

В приведенном выше примере четко упоминается число процессоров 3 напротив заголовка “CPU(s)”.

С помощью команды dmidecode

Команда dmidecode также предоставляет информацию о процессоре вместе с другой аппаратной информацией, такой как системная информация, информация о вентиляторах. Чтобы получить точно или найти количество ядер CPU в Linux с помощью команды dmidecode, вам нужно указать grep со словом CPU, как показано ниже:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Пакеты брать будете?

Что еще из операций ввода-вывода у нас осталось? Правильно, сетевое взаимодействие. Здесь царит та еще чехарда — «официальные» утилиты меняются от релиза к релизу, что, с одной стороны, круто, потому что удобств становится больше, с другой — надо переучиваться каждый раз.

Скажем, какой утилитой смотреть существующие в системе интерфейсы? Кто сказал
ifconfig? На современных системах ifconfig, как правило, уже вообще отсутствует, ибо есть

1 $ipa

Вроде выглядит немного по-другому, а вроде то же самое. Кстати, для управления сетевыми мостами из консоли часто необходимо ставить пакет bridge-utils. Тогда в консольке появится утилита
brctl, с помощью которой можно будет их просматривать (
brctl show), ну и менять. Но иногда бывает по-другому. Мне встречался случай, когда бриджи были, а brctl их не показывал. Оказалось, что для их создания использовался Open vSwitch и кастомный модуль ядра, для настройки которого надо использовать другую утилиту —
ovs-vsctl. Если вдруг у тебя окружение на OpenStack, где эта штука активно используется, — может быть полезно.

Дальше — как насчет таблиц маршрутизации? Как, говоришь,
route-n? Нет, мимо. Сейчас чаще используются
netstat-nr и
ip route show. Ну и самое банальное — как посмотреть открытые порты и процессы, которые их запросили? Например, вот так:

1 $sudo netstat-tnlp

Но думаю, ты уже понял, что банальщиной мы ограничиваться не будем. Давай посмотрим теперь в реальном времени, как пакеты бегают по интерфейсам.

1 $sar-nDEV1

Да, sar — это еще одна отличная утилита для мониторинга. Умеет показывать не только сетевые операции, но и диски и активность процессора. Почитать о ней можешь, например, в статье «Простой мониторинг системы с помощью SAR».

Также sar позволяет мониторить открытие/закрытие соединений и ретрансмиты (это повторные отправки тех же данных, когда сетевое оборудование сбоит или коннект крайне нестабильный, очень помогает траблшутить) в реальном времени.

1 $sar-1TCP,ETCP1

Ну и последнее — конечно, по порядку, а не по значению — это просмотр самого сетевого трафика. Чаще всего для этого используют две утилиты: tcpdump и wireshark. Первая — консольная, ей можно, к примеру, запустить прослушивание на всех интерфейсах и записать трафик в дамп-файл в формате pcap:

1 $tcpdump-wtest.dump

Вторая же — графическая. Из нее можно точно так же запустить прослушивание, а можно просто открыть в ней готовый файл дампа, слитый с удаленного сервера. И наслаждаться красотой слоев модели OSI (точнее, TCP/IP).

Wireshark

Бонус: дополнительные инструменты

Еще немного инструментов:

  • nmap – сканирует сервер на наличие открытых портов.
  • lsof – список открытых файлов, сетевых подключений и многое другое.
  • ntop — веб-инструмент для наблюдения за использованием сети, программное обеспечение для мониторинга сетевого трафика. Вы можете видеть состояние сети, распределение трафика по протоколам для UDP, TCP, DNS, HTTP и других протоколов.
  • Conky – еще один классный инструмент мониторинга для системы X Window. Он легко настраивается и способен отслеживать многие системные переменные, включая состояние процессора, памяти, места подкачки, дискового пространства, температуры, процессов, сетевых интерфейсов, заряда батареи, системных сообщений, почтовых ящиков и т. д.
  • GKrellM – этот инструмент можно использовать для мониторинга состояния процессоров, основной памяти, жестких дисков, сетевых интерфейсов, локальных и удаленных почтовых ящиков и многого другого.
  • mtr – mtr объединяет функциональность программ traceroute и ping в одном инструменте диагностики сети.
  • vtop – графический монитор активности терминала в Linux.
  • gtop – панель мониторинга системы для терминала Linux/macOS Unix.

Оригинал статьи — https://www.cyberciti.biz/tips/top-linux-monitoring-tools.html.

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

Оператор проблемы

Некоторые сборки UEFI BIOS с поддержкой безопасной загрузки, включая Tiano Core, по умолчанию не прошли проверку подлинности UEFI, так как подписанные параметры UEFI не были доступны во время разработки безопасной загрузки. Это предоставляет уязвимую зону или уязвимость в безопасной загрузке UEFI.

2.1. Уязвимость

Эта уязвимость по-прежнему присутствует в EDK II и UDK2010 по состоянию на август 2013 года. Поддержку источника известно о проблеме, и подается ошибка. Любое встроенное ПО, производное от EDK II и UDK2010, должно проверить, как управляется проверка параметров диска. Поведение проверки параметров диска управляется значением PCD в пакете EDK II SecurityPkg.

Исходный код уязвимости TianoCore — файл SecurityPkg\SecurityPkg.dec:

Значение по умолчанию (0x00) — это ALWAYS_EXECUTE, что неправильно выполняет проверку подписанных драйверов в параметрах ROM для периферийных устройств надстройки. Это не идеальное значение для любой системы, реализующего функциональность безопасной загрузки UEFI.

Рекомендуемое значение (оптимальная безопасность):

Рекомендуемое значение (оптимальная гибкость):

В EDK II & UDK2010 правильная практика написания кода использует механизм переопределения для изменения значений PCD для встроенного ПО платформы. Таким образом, значение для не должно быть изменено в . Значение переопределения должно быть задано в DSC-файле платформы. Ниже приведен пример использования Nt32Pkg\Nt32Pkg.dsc:

Переопределение PCD должно быть помещено в раздел DSC-файла. Точный механизм переопределения параметров может отличаться в зависимости от средств поставщика BIOS.

Примечание

Эта уязвимость может существовать в ранних реализациях BIOS безопасной загрузки UEFI от независимых поставщиков BIOS. Обратитесь к поставщику BIOS, чтобы определить, может ли повлиять ваша версия.

Мониторинг сети с помощью iptraf

iptraf — это одна из самых лучших программ для мониторинга сети в Linux. Она предоставляет очень удобный интерактивный интерфейс, с помощью которого можно наглядно увидеть всю необходимую информацию, причем достаточно подробно. Утилита не поставляется по умолчанию, но она достаточно популярна, поэтому вы можете установить ее из официальных репозиториев. Для этого в Ubuntu выполните команду:

А в CentOS / Red Hat выполните:

После установки утилиты для ее запуска просто наберите в терминале iptraf:

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

Обратите внимание на нижнюю часть окна, там отображается описание выбранного действия, а также находятся подсказки по горячим клавишам. Например, для просмотра сетевых соединений и статистики трафика для каждого из них выберите «IP traffic moitor». Затем вам будет необходимо выбрать сетевой интерфейс, например, enp2s0:

Например, для просмотра сетевых соединений и статистики трафика для каждого из них выберите «IP traffic moitor». Затем вам будет необходимо выбрать сетевой интерфейс, например, enp2s0:

Дальше вы увидите все IP адреса, с которыми сейчас выполняется взаимодействие. Здесь можно увидеть направление отправки пакетов, количество пакетов и общий объем переданных или полученных данных в байтах.

С помощью других пунктов меню можно посмотреть статистику по интерфейсу или статистику по работе локальной сети. Утилита даже может работать в неразборчивом режиме, чтобы собирать максимум данных про локальную сеть.

Также поддерживаются фильтры, которые позволяют отфильтровывать информацию только по определенному критерию. Например, чтобы создать фильтр откройте меню «Filters», затем выберите «IP…», а дальше «Apply new filter»:

Затем нужно указать имя фильтра:

На следующем этапе вы можете расписать нужные параметры фильтрации:

Чтобы применить фильтр нужно выбрать «Apply filter» и выбрать имя фильтра из списка:

Теперь в любом пункте статистики будет отображаться только та информация, которая подходит под созданный фильтр.

Мониторинг трафика Linux чаще всего выполняется администраторами именно с помощью этой утилиты. Видео про использование утилиты:

Информация о системе Linux из консоли ssh

Очень часто возникает необходимость разузнать о системе или о компьютере ту или иную информацию. Это можно делать всего парой строк в терминале Ubuntu. В GUI Ubuntu имеется пакет hardinfo, который показывает достаточно множество информации о аппаратной и программной части компьютера. Но это GUI, какой можно использовать, если на компьютере установлена графичная оболочка, а графическая среда, например на серверной версии недостаёт. Да и сам компьютер может быть расположен где-нибудь так что десницами его не достать) В случае если хочется красивого окна, но компьютер далеко, можно пробросить окошко hardinfo чрез ssh:

uname -a
cat /etc/issue

rpm -qa и аналоги

cat /proc/cpuinfo
cat /proc/meminfo
lspci
lsusb

Для приступила приведем утилиту lshw Для ее установки нужно завести в терминале: sudo apt-get install lshw После аппараты, для того чтобы узнать характеристики системы, довольно ввести в терминале команду sudo lshw

linuxinfo
cat /proc/cpuinfo
free
df -m
и на дессерт

less /boot/config-2.6.»uname-a»
hwinfo

Сам себе Большой Брат

Что вообще такое «мониторинг»? Поскольку я в свое время оканчивал химический университет, у меня это понятие четко ассоциируется с системами управления технологическими производствами. По сути, у нас есть ряд параметров сложной системы, которые мы отслеживаем, а по результатам можем, если необходимо, выполнить управляющее воздействие. Например, понизить давление в реакторе. А еще мы можем отправить уведомление оператору, который уже независимо примет то или иное управляющее решение.

У тех, кто далек от химии, но близок к IT, ассоциация немного другая, но в целом похожая — обычно это экран с кучей графиков, на которых творится какая-то магия, как в голливудских сериалах. Для многих администраторов так оно и выглядит — Graphite/Icinga/Zabbix/Prometheus/Netdata (нужное подчеркнуть) как раз рисуют красивый интерфейс, в который можно задумчиво глядеть, почесывая бороду и гладя свитер.

Большинство этих систем работают одинаково: на конечные ноды, за которыми мы хотим наблюдать, устанавливаются так называемые агенты, или коллекторы, а дальше все происходит по методике push или pull. То есть либо мы указываем этому агенту мастер-ноду, и он начинает периодически отсылать туда отчеты и heartbeat, либо же, наоборот, мы добавляем ноду в список для мониторинга на мастере, а тот уже, в свою очередь, сам ходит и опрашивает агенты о текущей ситуации.

Нет, я не буду рассказывать в подробностях, как настраивать подобные системы. Вместо этого мы голыми руками докопаемся до того, что вообще происходит в системе. Кстати, хороший перечень утилит для сисадмина приведен в статье Евгения Зобнина «Сисадминский must have». Настоятельно советую взглянуть.

Как использовать Hwinfo в Ubuntu

Для вывода краткой сводки о компьютере откройте терминал Linux и выполните: $ sudo hwinfo –short.

Сжатая сводка.

Команды

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

  • $ sudo hwinfo –cpu – подробности о центральном процессоре;
  • $ sudo hwinfo –short –cpu – сжато о ЦПУ;
  • $ sudo hwinfo –memory или $ sudo hwinfo –short –memory – оперативная память;
  • $ sudo hwinfo –disk – накопители;
  • $ sudo hwinfo –partition – логические разделы;
  • $ sudo hwinfo –network – сетевая карта;
  • $ sudo hwinfo –sound – звуковая карта;
  • $ sudo hwinfo –bios – микропрограммы BIOS или UEFI и т.д.

Уточнения

Для вывода краткой характеристики перед аргументом добавляйте –short.

Отчёты сохраняются командой: $ hwinfo –all –log hardwareinfo.txt.

Для экспорта данных о конкретном устройстве: $ hwinfo –monitor > hardwareinfo.txt или $ hwinfo –keyboard > hardwareinfo.txt.

После имени утилиты через двойной дефис укажите название устройства.

Справочная информация доступна по утилите: $ hwinfo –help.

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

В какой-то момент могут закрасться подозрения в некорректной работе жесткого диска, в таком случае всего несколько команд помогут вам узнать больше об этом компоненте компьютера. Например, чтобы посмотреть все подключенные твердотельные накопители, нужно выполнить эту команду:

Fdisk -l | grep «^/dev»

Определившись со всеми дисками и узнав их названия, можно посмотреть более подробную информацию:

Fdisk -l /dev/sda #просмотр разделов на диске
e2label /dev/sda #отображение метки диска

Если есть желание просмотреть все и сразу, а при необходимости даже внести некоторые коррективы, тогда лучше всего подойдет программа cfdisk. Запустить ее просто, достаточно прописать название в «Терминале».

Получше, чем у золотой рыбки

Что в науке, что в инжиниринге периодически возникает одна и та же «проблема» — нельзя просто так взять и ответить на, казалось бы, простой вопрос. Все потому, что есть нюансы и тонкости, а задающий вопрос человек начинает злиться и говорить: «Не надо мне этого всего, ты мне цифру назови». А потом зависает, когда внезапно оказывается, что разные утилиты показывают абсолютно разные значения, скажем, для размера файла или для количества доступной оперативки…

Кстати, об оперативке. Поскольку это у нас железо, то мы можем первым делом опять нахально проследовать в
/proc:

1 $cat/proc/meminfo

…и получить кучу разных цифр, из которых большая часть абсолютно непонятна, так как это вообще все параметры нашей RAM, которые видит ядро. Поэтому лучше все-таки использовать старую добрую команду
free:

1 $free-ht

Кстати, почему мы получаем информацию об оперативке не из
/sys, как я описал во врезке? Да потому что «пошел ты, вот почему». Вот ссылка на заметочку, в которой написано, где там память в
/sys и как с ней работать: How memory is represented in sysfs. Если кратко — придется перемножать в уме и читать кучу разных файлов.

Как ни странно, есть возможность получить и более низкоуровневую информацию об оперативке, чем
/proc/meminfo. Это утилита
dmidecode из одноименного пакета. Она общается непосредственно с BIOS и возвращает даже имена вендоров-производителей. Правда, не всегда верные (особенно весело запускать ее под гипервизором, но это совсем другая история).

1 $sudo dmidecode—type17

Кстати, top и htop, как и банальный
ps aux, тоже выводят информацию о занятой памяти, а второй еще и диаграмму в ASCII рисует по ней и по ядрам. Цветную. Лепота.

Первые две колонки очевидны:

  • PID — идентификатор процесса;
  • User — пользователь, от которого он запущен.

А вот две следующие чуть интересней: Priority и Niceness, причем первая в общем случае равна второй + 20. По сути, Priority показывает абсолютное значение приоритета процесса в ядре, а Niceness показывает значение относительно ноля (ноль обычно назначается по умолчанию). Этот самый приоритет учитывается при выдаче процессу квантов процессорного времени, поэтому, формально говоря, при увеличении приоритета командой
renice можно заставить какую-нибудь сильно CPU-bound задачу выполняться чуточку быстрее. Для процессов реального времени в колонке Priority будет стоять rt, то есть real time, «как только — так сразу».

Дальше следуют данные о памяти:

  • VIRT — виртуальная память, «обещанная» процессу системой;
  • RES — фактически используемая память (кстати, благодаря механизму copy-on-write может быть несколько (N) форков одного и того же процесса с одним и тем же числом M в этой колонке, что вовсе не значит, что сожрано N*M памяти, потому что они разделяют ее между собой);
  • SHR — shared memory, то есть память, которая потенциально может использоваться для межпроцессного взаимодействия.

Ну и совсем базовые показатели:

  • CPU% — сколько процентов CPU жрет процесс; легко может быть больше 100%, если параллелится на несколько ядер;
  • MEM% — процент памяти, потребляемой процессом;
  • TIME+ — сколько времени процесс бежит;
  • COMMAND — какая команда (программа + аргументы) запущена.

Но мы же хотим идти еще глубже, надо больше подробностей!

1 $vmstat1

Здесь тоже много колонок, для простоты взглянем на четыре:

  • r — размер очереди процессов на доступ к памяти;
  • b — число процессов в uninterruptible sleep;
  • si/so — сколько страниц памяти в текущий момент пишется в своп / читается из свопа.

Надо ли явно подчеркивать, что в идеальном мире в них должны быть ноли?

Выводы

Знаете ли вы, что ядро Linux загружает несколько драйверов устройств при загрузке системы?

Фактически, когда ваша система запущена и работает, и вы подключаете аппаратное устройство, то также загружается соответствующий драйвер устройства.

Конечно, ядро также делает много других вещей.

Что делать, если вы хотите узнать информацию, связанную с этими действиями ядра?

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

В этом уроке мы поймем, как работает инструмент dmesg, используя несколько простых для понимания примеров.

Команда Linux dmesg

Синтаксис команды dmesg:

Dmesg

Ниже приведены примеры Вопрос & Ответ, которые помогут вам лучше понять, как работает команда dmesg.

В1. Как использовать команду dmesg?

Вы можете начать использовать команду dmesg без любой опции командной строки.

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

В2. Как ограничить вывод только ошибками и предупреждениями?

Если вы запустите dmesg в своей системе, вы увидите, что он выводит множество информации.

В зависимости от того, что вы ищете, вы можете фильтровать или ограничивать вывод.

Со своей стороны, dmesg предлагает вам эту способность через «уровни».

Ниже приведен полный список уровней (вместе с их объяснением):

Emerg — system is unusable
alert — action must be taken immediately
crit — critical conditions
err — error conditions
warn — warning conditions
notice — normal but significant condition
info — informational
debug — debug-level messages

Например, если вы хотите ограничить вывод только ошибками и предупреждениями, вы можете сделать это следующим образом:

Dmesg —level=err,warn

В моем случае, вот часть вывода выведенной выше команды:

В3. Как создать dmesg для создания временных меток?

Иногда вам может понадобиться связать временную метку с сообщениями, которые создает dmesg.

Это можно сделать, используя опцию командной строки -T, которая создает человекочитаемые метки времени.

Dmesg -T

Пример вывода:

В4. Как сделать, что dmesg отображал информацию об определенном устройстве?

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

Вот как вы можете это сделать:

Dmesg | grep -i eth0

Пример вывода:

В5. Как заставить dmesg отображать только сообщения в пользовательском пространстве?

Если вы хотите ограничить вывод dmesg только сообщениями пользовательского пространства, используйте параметр командной строки -u.

Dmesg -u

Согласитесь, dmesg — это не та команда, которая вам понадобится каждый день.

Но это инструмент, к которому нужно обратиться, когда кто-то (которого вы попросили о помощи по определенной теме) просит вас предоставить сообщения ядра.

В основном я видел этот случай на форумах онлайн-пользователей, где опытные пользователи просят вывод ядра.

Диагностика оборудования — достаточно важный вопрос, который никак нельзя упускать. Именно поэтому в серию «Шпаргалка сисадмина» для ОС Debian я не могу не добавить статью о средствах получения информации об устройствах. На этот раз я постараюсь коротко рассказать об основных утилитах для диагностики тех или иных компонентов сервера. Начну конечно же со встроенных по умолчанию в систему средств, поскольку знать их и уметь пользоваться должен любой сисадмин. Далее будет обзор пакетов с общим назначением. В конечно счете подойдем к знакомству с дополнительными расширенными инструментами, которые каждый может поставить по желанию.

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: