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 (geeko@buildhost) 
(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 - что это за утилита и с чем ее едят? Во время загрузки системы, пока загружается ядро, система инициализации, драйвера, модули ядра, инициализируется оборудование на экран выводится большое количество сообщений, которые отображают информацию о...
Система
1702
Рейтинг: 5/7
При перепечатке материалов указание ссылки на linuxsoid.com обязательно.

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

Смотрите также:
    Ускоряем Ubuntu уменьшая количество используемой памяти Ускоряем Ubuntu уменьшая количество используемой памяти

    Если сейчас сравнить новые версии десктоп дистрибутива Ubuntu например с версией 14.04, вы должны были бы увидеть, что дистрибутивы Linux стали более «прожорливыми», да новые версии получили проблему в виде Unity которая жрет оперативку как слон и если у вас оперативной памяти меньше 2гб, будет не сладко. В сегодняшнем материале мы обсудим несколько способов более оптимального решения возникшей проблемы которые бы позволили уменьшить апетиты в использовании оперативной памяти. Первый, конечно же - это выбор легкого дистрибутива (Xubuntu или же Lubuntu и прочих). Второй способ, в данном случае мы постараемся уменьшить потребления памяти без ограничения в функциональности работы дистрибутива, для опытов мы выбрали Ubuntu 16.04 LTS.

    Установка среды разработки Visual Studio Code в Linux Установка среды разработки Visual Studio Code в Linux

    Вчера 18.11.2015 компания Microsoft открыла исходники Visual Studio Code для Linux. Visual Studio Code - это приложение которое предоставляет все средства для создания, редактирования и отладки современных web-приложений и программ для облачных систем. C вчерашнего дня данное приложение превратилась с просто современного приложения для отладки и редактирования web-приложений, в кросплатформенное доступное для платформ Linux, Windows и Mac OS X. 

    Установка FTP-клиента gFTP в Linux Установка FTP-клиента gFTP в Linux

    Foxit Reader — это легковесная, быстродействующая и многофункциональная программа для чтения PDF, которая позволяет создавать (бесплатное создание PDF-документов), открывать, просматривать, подписывать и распечатывать любые PDF-файлы. Foxit Reader создан на базе самого быстрого и точного (с высокой точностью отображения) в отрасли инструмента визуализации PDF, дающего пользователям лучшие возможности для просмотра и печати PDF-документов. Доступны версии продукта на английском, нидерландском, французском, немецком, итальянском, португальском, русском и испанском языках.

    ClipGrab - загрузчик видео и конвертер для Linux ClipGrab - загрузчик видео и конвертер для Linux

    ClipGrab является свободным программным обеспечением для загрузки и конвертирования видео с разных популярных сайтов с сети интернет. Вы можете легко сохранить ваши любимые видео с сайтов, таких как dailymotion или Vimeo. И вы можете конвертировать эти ролики в "нужный" формат, с доступных WMV, MPEG или mp3. Так же, вы можете с приложения проверить, список какие сайты поддерживаются этим программным обеспечением.

    С помощью приложения ClipGrab, вы можете преобразовать видео в WMV, MPEG4, OGG Theora, MP3, OGG Vorbis или просто скачать видео в оригинальном формате. Однако при скачивании с некоторых сайтов вы можете не найти в списке все доступные форматы, которые доступны в выпадающем списке, не все сайты поддерживают видео в хорошем качестве.

    Установка VirtualBox в Linux Установка VirtualBox в Linux

    VirtualBox является мощным x86 и amd64/Intel64 продуктом виртуализации как для корпоративного так и для домашнего использования. VirtualBox предоставляет чрезвычайно многофункциональную, высокую производительность продукта для корпоративных клиентов, он также является единственным профессиональным решением, которое находится в свободном доступе, как с открытым исходным кодом программного обеспечения в соответствии с условиями стандартной общественной лицензии GNU (GPL).

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

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

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

avatar