1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wizardforcel-llthw-zh

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
ex29.md 8.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 03:02 8398775

Ядро: сообщения ядра, dmesg

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

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

Вот что Википедия говорит нам о ядре Linux:

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

Сейчас самое время посетить соответствующую статью в Википедии и потратить некоторое время на безумное щёлканье всех ужасных терминов, описывающих технические характеристики ядра Linux. После этого давайте поговорим о более скучных вещах, которыми занимается ядро. Например, если USB-накопитель подключён к компьютеру или сетевое соединение разорвано или смонтирована файловая система, происходят такие вещи. Чтобы сообщить вам обо всём этом, ядро использует механизм, называемый отображением сообщений или сообщениями драйверов, сокращённо dmesg.

Этот механизм представлен буфером фиксированного размера, в который ядро записывает сообщения. На Debian Linux после запуска процесса системного журнала информация, опубликованная из буфера, также копируется в файл /var/log/dmesg. Это делается для сохранения этих сообщений, иначе они будут перезаписаны новыми сообщениями.

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

Давайте подведём итог относительно файлов и программ, связанных с dmesg:

  • dmesg – печать или управление кольцевым буфером ядра;
  • /var/log/dmseg – файл журнала в дистрибутивах Debian, содержащий только копии сообщений dmesg, отправленных во время загрузки системы, без временных меток.
  • /var/log/kern.log – файл журнала в дистрибутивах Debian, содержащий все копии сообщений dmesg, включая временные метки. Обратите внимание, что после запуска процесса rsyslog временные метки начинают изменяться, что означает, что все сообщения, отправленные во время загрузки до запуска rsyslog, будут иметь одинаковую временную метку. Этот файл сам содержит /var/log/dmseg.
  • /var/log/messages – файл журнала в дистрибутивах Debian, регистрирующий все не отладочные и некритические сообщения. Он сам содержит /var/log/dmesg.
  • /var/log/syslog – файл журнала в дистрибутивах Debian, записывающий всю информацию, кроме информации, связанной с разрешениями. Он содержит все сообщения из /var/log/messages и /var/log/kern.log.

Как это сделать

1: date
2: sudo umount /tmp ; sudo mount /tmp
3: sudo tail -f /var/log/dmesg /var/log/messages /var/log/syslog /var/log/kern.log

Что вы увидите

user1@vm1:~$ date
Tue Jul 24 06:55:33 EDT 2012
user1@vm1:~$ sudo umount /tmp ; sudo mount /tmp
user1@vm1:~$ dmesg | tail
[    7.166240] tun: Universal TUN/TAP device driver, 1.6
[    7.166242] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    7.432019] ADDRCONF(NETDEV_UP): eth0: link is not ready
[    7.435270] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[    7.435927] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   17.472049] tap0: no IPv6 routers present
[   17.592044] eth0: no IPv6 routers present
[  217.497357] kjournald starting.  Commit interval 5 seconds
[  217.497561] EXT3 FS on sda8, internal journal
[  217.497564] EXT3-fs: mounted filesystem with ordered data mode.
user1@vm1:~$ sudo tail /var/log/dmesg /var/log/messages /var/log/syslog /var/log/kern.log
==> /var/log/dmesg <==
[    6.762569] EXT3 FS on sda5, internal journal
[    6.762572] EXT3-fs: mounted filesystem with ordered data mode.
[    6.767237] kjournald starting.  Commit interval 5 seconds
[    6.767407] EXT3 FS on sda6, internal journal
[    6.767410] EXT3-fs: mounted filesystem with ordered data mode.
[    7.166240] tun: Universal TUN/TAP device driver, 1.6
[    7.166242] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    7.432019] ADDRCONF(NETDEV_UP): eth0: link is not ready
[    7.435270] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[    7.435927] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
 
==> /var/log/messages <==
Jul 24 06:52:07 vm1 kernel: [    6.767407] EXT3 FS on sda6, internal journal
Jul 24 06:52:07 vm1 kernel: [    6.767410] EXT3-fs: mounted filesystem with ordered data mode.
Jul 24 06:52:07 vm1 kernel: [    7.166240] tun: Universal TUN/TAP device driver, 1.6
Jul 24 06:52:07 vm1 kernel: [    7.166242] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
Jul 24 06:52:07 vm1 kernel: [    7.432019] ADDRCONF(NETDEV_UP): eth0: link is not ready
Jul 24 06:52:07 vm1 kernel: [    7.435270] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Jul 24 06:52:07 vm1 kernel: [    7.435927] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Jul 24 06:55:36 vm1 kernel: [  217.497357] kjournald starting.  Commit interval 5 seconds
Jul 24 06:55:36 vm1 kernel: [  217.497561] EXT3 FS on sda8, internal journal
Jul 24 06:55:36 vm1 kernel: [  217.497564] EXT3-fs: mounted filesystem with

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/wizardforcel-llthw-zh.git
git@api.gitlife.ru:oschina-mirror/wizardforcel-llthw-zh.git
oschina-mirror
wizardforcel-llthw-zh
wizardforcel-llthw-zh
master