Анализ логов с помощью dmesg

Dmesg - что это за утилита и с чем ее едят?

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

анализируем логи с помощью утилиты dmesg

Именно на этапе загрузки может происходить много ошибок в сервисах или оборудовании. Просмотр этих сообщений может быть очень полезным.Но они пробегают очень быстро и мы не всегда можем успеть их прочитать. Но все они могут быть просмотрены с помощью команды dmesg.

1. Просмотр сообщений во время загрузки

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

$ dmesg | more
[    0.000000] microcode: CPU0 microcode updated early to revisio
n 0x29, date = 2013-06-12
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.1.20-11-default ([email protected]) 
(gcc version 4.8.5 (SUSE Linux) ) #1 SMP PREEMPT Fri Mar 18 14:42
:07 UTC 2016 (0a392b2)

2. Просмотр памяти

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

$ dmesg | grep Memory

 0.000000] Memory: 3848228K/4006256K available (6567K kernel code, 1085K rwdata, 4852K rodata, 1560K init, 1520K bss, 158028K reserved, 0K cma-reserved)

3. Просмотр состояния сетевых адаптеров

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

$ dmesg | grep eth
[  101.043873] tg3 0000:02:00.0 eth0: Link is up at 100 Mbps, full duplex
[  101.043885] tg3 0000:02:00.0 eth0: Flow control is off for TX and off for RX
[  101.043889] tg3 0000:02:00.0 eth0: EEE is disabled
[  101.043909] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

4. Изменение размера буфера dmesg

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

$ vi /boot/config-4.1.20-11-default
CONFIG_LOG_BUF_SHIFT=18

Измените значение параметра этой строки на нужное, по умолчанию у меня используется 18, это значит что будет создан буфер размером 18 килобайт. Но вы можете указать размер буфера, какой захотите.

5. Очистить буфер dmesg

Иногда может понадобится очистить буфер Dmesg, чтобы ненужные сообщения не путались под руками. Вы можете это сделать следующей командой:

$ dmesg -c

Теперь если еще раз выполнить команду dmesg, буфер будет пуст.

6. Дата и время в dmesg

Как видите, по умолчанию в dmesg нет никаких дат, используется просто метка, сдвиг времени от начала загрузки. Но также есть возможность увидеть полноценную дату и время каждого сообщения. Для этого смотрите файл /var/log/kern.log:

$ dmesg | grep "L2 cache"
Oct 18 23:55:40 ubuntu kernel: [ 0.014681] CPU: L2 cache: 2048K

Чтобы все работало должна быть настроена и запущенна служба klogd.

7. Просмотр ошибок dmesg

Вот такой нехитрой комбинацией вы можете посмотреть все ошибки, произошедшие во время загрузки или работы системы:

$ dmesg | grep error

Рассмотрим небольшой пример. Вот допустим, у меня не работает Wifi. Я знаю что адаптер в компьютере есть, он включен и в Windows все работает. Но сейчас никак. Смотрим лог dmesg и видим:

[ 21.772824] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found
[ 21.772842] b43-phy0 ERROR: Firmware file "b43-open/ucode15.fw" not found
[ 21.772852] b43-phy0 ERROR: Please open a terminal and enter the command "sudo /usr/sbin/install_bcm43xx_firmware" to download the correct firmware for this driver version. For an off-line installation, go to [manual] and follow the instructions in the "Installing firmware from RPM packages" section.

Из сообщения мы понимаем, что проблема здесь в прошивке, и система нам даже сообщает с помощью какой команды ее можно решить, или где почитать про настройку этого дела и скачать нужные файлы. Таким образом, проблема которая казалась нерешаемой, решилась за несколько минут. Просмотр логов Linux - очень полезная вещь, не забывайте этим пользоваться. Вот и все, если у вас остались вопросы, пишите в комментариях!

Понравилась статья?
Dmesg - что это за утилита и с чем ее едят? Во время загрузки системы, пока загружается ядро, система инициализации, драйвера, модули ядра, инициализируется оборудование на экран выводится большое количество сообщений, которые отображают информацию о...
Система
2734
Рейтинг: 5/13
При перепечатке материалов указание ссылки на linuxsoid.com обязательно.

Подпишитесь на рассылку

Смотрите также:
    Самый легкий способ установки Mesa 17.0.2 в Ubuntu 16.04 LTS Самый легкий способ установки Mesa 17.0.2 в Ubuntu 16.04 LTS

    Mesa – это реализация графического API OpenGL, обеспечивающая высокую производительности при работе с 3D графикой. Технически, это просто спецификация, реализуемая драйвером видеокарты. Нет такого понятия, как библиотека OpenGL SDK. Есть файл libGL.so, поставляемый вместе с драйвером. Чтобы его использовать, вам нужна привязка к выбранному вами языку программирования. Если это язык C, привязка состоит из заголовочных файлов. Однако вы, вероятно, хотите использовать расширения OpenGL, что легко сделать с помощью GLEW.

    Оптимизация Ubuntu с помощью утилиты Stacer Оптимизация Ubuntu с помощью утилиты Stacer

    Ранее я уже писал материалы о прочих утилитах подобно Ubuntu Tweak, Ubuntu Cleaner или GCleaner, это аналоги всем известной утилиты CCleaner. Не буду спорить с темы кто имеет что-то против таких утилит, хотите чистить используя консоль, используйте консоль, никто насильно не заставляет использовать графические утилиты. Я в большей части так же работаю в консоли так как система имеет уже все необходимые инструменты для очистки, удаления, управления автозагрузкой в Linux. Сегодняшний материал более направлен на тех пользователей, которые еще не имеют опыта работы с терминалом, который бы им позволял выполнять все манипуляции без использования графического интерфейса.

    ICQ Аська для Ubuntu Linux ICQ Аська для Ubuntu Linux

    И свершилось чудо, вышел официальный релиз ICQ для Linux, ранее вам приходилось пользоваться сторонними приложениями, но теперь в этом нет необходимости так как вышел официальный клиент.

    Выберите вашу архитектуру и загрузите архив, архив занимает 33 около 34 мб, скачаете, распакуйте, далее увидите файл формата run с названием "icq", нажмите по нему двойным кликом как и обычно когда вы запускаете приложения, сразу же увидите как автоматически извлеклись две директории (settings и fontconfig), настройки и прочие  конфигурационные файлы для работы приложения.

    Игра Teeworlds для Ubuntu Linux Игра Teeworlds для Ubuntu Linux

    Teeworlds - это многопользовательский 2D шутер который очень схож с такими играми как (Worms, Soldat и Counter-Strike 2D). В связи с особенностями физики имеет свой уникальный геймплей. Все игроки имеют возможность управления персонажем который очень похож на колобка, но этот колобок не простой так как умеет цепляться за стены используя крюк и на лету перемещаться по карте почти как "Тарзан" на лиане. Цель играющего зависит от режима игры: например, уничтожить противников, доставить вражеский флаг к себе на базу или добежать до конца карты.

    Игра Oh My Giraffe для Ubuntu Linux Игра Oh My Giraffe для Ubuntu Linux

    Очень веселая игра для ваших детей которые осваивают Linux. Игра предназначена именно для того, чтоб любой, кто установит ее, смог просто прекрасно отдохнуть и повеселить своих детей или же племянников. Эта игра поможет вам поднять настроение и приятно провести время с своими родными. Все что нужно делать в игре Oh My Giraffe, это есть вкусные фрукты и убегать от диких львов. 

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

    Утилита Remastersys Backup - резервное копирование Ubuntu Linux Утилита Remastersys Backup - резервное копирование Ubuntu Linux

    Remastersys - это специальный инструмент или проще сказать(утилита) для создания резервной копии(бэкапа,backup) установленной операционной системы, опционально вместе со всеми данными. Созданная резервная копия может быть установлена/перенесена на любой ПК, либо использована в качестве LiveCD.

Здравствуй Гость, как Вы видите еще никто не оставил свой комментарий, будьте первым, поделитесь мнением о материале выше.

avatar