dmesg (for "display message") is a command on
Unix-likeoperating systems that prints the message buffer of the kernel.
When the computer system is initially started ("booted," "boots up"), the kernel is loaded into memory, then the various parts of the kernel initialize themselves. Frequently, the kernel must "discover" the exact characteristics of the hardware it is running on, and then initialize itself appropriately. As these steps take place, diagnostic and informational messages are produced ... and they flash by, far too quickly to read. The dmesg command, therefore, enables those messages to be reviewed after the system has started.
The output of dmesg is quite long. For this reason, this output is normally reviewed using standard text-manipulation tools such as tail, or
grep. The output is often captured in a permanent system logfile via a logging daemon, such as syslog.
Most commercial operating systems display an animated "splash screen" during this stage of the boot process, literally so that the user will not see (and be confused by...) these messages. But all of them do provide a way to display these messages instead of the splash screen while booting(which is useful if the system fails to start), and all of them do provide a facility for reviewing those messages, comparable to dmesg.
The following are actual examples of dmesg output on various types of systems. The messages are extremely technical in nature, and clearly illustrate the intricate process of initializing the kernel for use on a typical computer system.
Example output on a
Linuxsystem:Linux version 18.104.22.168 (root@gateway) (gcc version 3.4.5) #2 Mon Sep 4 11:21:13 EST 2006BIOS-provided physical RAM
CPU: After all inits, caps: 008001bf 00000000 00000000 00000000 00000000 00000000 00000000CPU: Intel Pentium MMX stepping 03Checking 'hlt' instruction... OK.SMP alternatives: switching to UP codeFreeing SMP alternatives: 0k freedNET: Registered protocol family 16PCI: PCI BIOS revision 2.10 entry at 0xfb240, last bus=0Setting up standard PCI resourcesLinux Plug and Play Support v0.97 (c) Adam BelayPnPBIOS: Scanning system for PnP BIOS support...PnPBIOS: Found PnP BIOS installation structure at 0xc00fbf30PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xbf58, dseg 0xf0000PnPBIOS: 14 nodes reported by PnP BIOS; 14 recorded by driverSCSI subsystem initializedPCI: Probing PCI hardwarePCI: Probing PCI hardware (bus 00)PCI quirk: region 4f00-4f3f claimed by PIIX4 ACPIPCI quirk: region 5f00-5f0f claimed by PIIX4 SMBBoot video device is 0000:00:09.0TC classifier action (bugs to firstname.lastname@example.org cc email@example.com)pnp: 00:09: ioport range 0x208-0x20f has been reservedNET: Registered protocol family 2IP route cache hash table entries: 1024 (order: 0, 4096 bytes)TCP established hash table entries: 4096 (order: 2, 16384 bytes)TCP bind hash table entries: 2048 (order: 1, 8192 bytes)TCP: Hash tables configured (established 4096 bind 2048)TCP reno registeredapm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)io scheduler noop registeredio scheduler cfq registered (default)Limiting direct PCI/PCI transfers.isapnp: Scanning for PnP cards...isapnp: Card 'ESS ES1868 Plug and Play AudioDrive'isapnp: 1 Plug & Play card detected totallp: driver loaded but no devices foundReal Time Clock Driver v1.12acNon-volatile memory driver v1.2Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabledserial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550Aserial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A00:0d: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550Aparport: PnPBIOS parport detected.parport0: PC-style at 0x378, irq 7 [PCSPP] lp0: using parport0 (interrupt-driven).RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksizeloop: loaded (max 8 devices)nbd: registered device at major 43ne2k-pci.c:v1.03 9/22/2003 D. Becker/P. Gortmaker http://www.scyld.com/network/ne2k-pci.htmleth0: RealTek RTL-8029 found at 0x6500, IRQ 10, 00:00:B4:A2:4B:6E.eth1: RealTek RTL-8029 found at 0x6600, IRQ 9, 00:00:E8:DA:7E:72.PPP generic driver version 2.4.2PPP Deflate Compression module registeredPPP BSD Compression module registeredNET: Registered protocol family 24Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xxPIIX4: IDE controller at PCI slot 0000:00:07.1PIIX4: chipset revision 1PIIX4: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pioProbing IDE interface ide0...hda: QUANTUM FIREBALL1280A, ATA DISK driveide0 at 0x1f0-0x1f7,0x3f6 on irq 14Probing IDE interface ide1...hda: max request size: 128KiBhda: 2503872 sectors (1281 MB) w/83KiB Cache, CHS=2484/16/63, DMA hda: hda1 hda2PNP: PS/2 Controller [PNP0303] at 0x60,0x64 irq 1PNP: PS/2 controller doesn't have AUX irq; using default 12serio: i8042 AUX port at 0x60,0x64 irq 12serio: i8042 KBD port at 0x60,0x64 irq 1mice: PS/2 mouse device common for all miceinput: PC Speaker as /class/input/input0input: AT Translated Set 2 keyboard as /class/input/input1Advanced Linux Sound Architecture Driver Version 1.0.11rc4 (Wed Mar 22 10:27:24 2006 UTC).pnp: Device 01:01.00 activated.pnp: Device 01:01.01 activated.es1688: can't grab port 0x224ALSA device list: #0: ESS AudioDrive ES1868 at 0x220, irq 5, dma1 1, dma2 3GACT probability NOT onMirror/redirect action onu32 classifier input device check on Actions configuredNetfilter messages via NETLINK v0.30.IPv4 over IPv4 tunneling driverip_conntrack version 2.4 (576 buckets, 4608 max) - 224 bytes per conntrackctnetlink v0.90: registering with nfnetlink.ip_conntrack_pptp version 3.1 loadedip_nat_pptp version 3.0 loadedip_tables: (C) 2000-2006 Netfilter Core Teamipt_recent v0.3.1: Stephen Frost
. http://snowman.net/projects/ipt_recent/ClusterIP Version 0.8 loaded successfullyTCP bic registeredNET: Registered protocol family 1NET: Registered protocol family 17Using IPI Shortcut modeReiserFS: hda1: found reiserfs format "3.6" with standard journalReiserFS: hda1: using ordered data modeReiserFS: hda1: journal params: device hda1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30ReiserFS: hda1: checking transaction log (hda1)ReiserFS: hda1: replayed 1 transactions in 0 secondsReiserFS: hda1: Using r5 hash to sort namesVFS: Mounted root (reiserfs filesystem) readonly.Freeing unused kernel memory: 140k freedAdding 143128k swap on /dev/hda2. Priority:-1 extents:1 across:143128k
(In Linux, the output of dmesg is maintained in the log file '/var/log/dmesg' or '/var/log/kern.log' depending on your Linux distribution.)
Example output on a
FreeBSDsystem:Copyright (c) 1992-2007 The FreeBSD Project.Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved.FreeBSD is a registered trademark of The FreeBSD Foundation.FreeBSD 6.2-RELEASE #0: Fri Jan 12 10:40:27 UTC 2007 firstname.lastname@example.org:/usr/obj/usr/src/sys/GENERICACPI APIC Table: Timecounter "i8254" frequency 1193182 Hz quality 0CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (2422.65-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf33 Stepping = 3 Features=0xbfebfbff Features2=0x41d real memory = 268369920 (255 MB)avail memory = 253083648 (241 MB)ioapic0 irqs 0-23 on motherboardkbd1 at kbdmux0ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)acpi0: on motherboardacpi0: Power Button (fixed)Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0cpu0: on acpi0acpi_throttle0: on cpu0acpi_button0: on acpi0pcib0: port 0xcf8-0xcff on acpi0pci0: on pcib0agp0: mem 0xf8000000-0xfbffffff at device 0.0 on pci0pcib1: at device 1.0 on pci0pci1: on pcib1uhci0: port 0xe000-0xe01f irq 16 at device 29.0 on pci0uhci0: [GIANT-LOCKED] usb0: on uhci0usb0: USB revision 1.0uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1uhub0: 2 ports with 2 removable, self powereduhci1: port 0xe400-0xe41f irq 19 at device 29.1 on pci0uhci1: [GIANT-LOCKED] usb1: on uhci1usb1: USB revision 1.0uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1uhub1: 2 ports with 2 removable, self powereduhci2: port 0xe800-0xe81f irq 18 at device 29.2 on pci0uhci2: [GIANT-LOCKED] usb2: on uhci2usb2: USB revision 1.0uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1uhub2: 2 ports with 2 removable, self powereduhci3: port 0xec00-0xec1f irq 16 at device 29.3 on pci0uhci3: [GIANT-LOCKED] usb3: on uhci3usb3: USB revision 1.0uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1uhub3: 2 ports with 2 removable, self poweredehci0: mem 0xffeffc00-0xffefffff irq 23 at device 29.7 on pci0ehci0: [GIANT-LOCKED] usb4: EHCI version 1.0usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3usb4: on ehci0usb4: USB revision 2.0uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1uhub4: 8 ports with 8 removable, self poweredpcib2: at device 30.0 on pci0pci2: on pcib2rl0: port 0xcc00-0xccff mem 0xffdeff00-0xffdeffff irq 17 at device 1.0 on pci2miibus0: on rl0rlphy0: on miibus0rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, autorl0: Ethernet address: 00:10:a7:09:78:abrl1: port 0xc800-0xc8ff mem 0xffdefe00-0xffdefeff irq 18 at device 2.0 on pci2miibus1: on rl1rlphy1: on miibus1rlphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, autorl1: Ethernet address: 00:0d:f3:04:f2:71pci2: at device 5.0 (no driver attached)rl2: port 0xc400-0xc4ff mem 0xffdefd00-0xffdefdff irq 23 at device 11.0 on pci2miibus2: on rl2rlphy2: on miibus2rlphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, autorl2: Ethernet address: 00:11:09:d0:4c:97isab0: at device 31.0 on pci0isa0: on isab0atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 31.1 on pci0ata0: on atapci0ata1: on atapci0pci0: at device 31.3 (no driver attached)pci0: at device 31.5 (no driver attached)fdc0: port 0x3f2-0x3f3,0x3f4-0x3f5,0x3f7 irq 6 drq 2 on acpi0fdc0: [FAST] sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0sio0: type 16550Appc0: port 0x378-0x37f irq 7 on acpi0ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE modeppbus0: on ppc0plip0: on ppbus0lpt0: on ppbus0lpt0: Interrupt-driven portppi0: on ppbus0pmtimer0 on isa0orm0: at iomem 0xc0000-0xc7fff,0xc8000-0xca7ff,0xca800-0xccfff,0xe0000-0xe0fff on isa0atkbdc0: at port 0x60,0x64 on isa0atkbd0: irq 1 on atkbdc0kbd0 at atkbd0atkbd0: [GIANT-LOCKED] sc0: at flags 0x100 on isa0sc0: VGA <16 virtual consoles, flags=0x300>sio1: configured irq 3 not in bitmap of probed irqs 0sio1: port may not be enabledvga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0Timecounter "TSC" frequency 2422648071 Hz quality 800Timecounters tick every 1.000 msecad0: 238475MB at ata0-master UDMA100Trying to mount root from ufs:/dev/ad0s1aWARNING: / was not properly dismountedWARNING: /tmp was not properly dismountedWARNING: /usr was not properly dismountedWARNING: /var was not properly dismounted
Example output on a
Linksys WRT54Grouter (with CPUoverclocked) running DD-WRTv24rc4:CPU revision is: 00029008Linux version 2.4.35 (root@dd-wrt) (gcc version 3.4.4 (OpenWrt-2.0)) #2530 Wed Oct 10 02:19:55 CEST 2007Setting the PFC to its default valueDetermined physical RAM conformance testingby UNIFIXPCI: no corePCI: Fixing up bus 0Initializing RT netlink socketStarting kswapddevfs: v1.12c (20020818) Richard Gooch (email@example.com)devfs: boot_options: 0x1squashfs: version 3.0 (2006/03/15) Phillip Lougherpty: 256 Unix98 ptys configuredSerial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabledttyS00 at 0xb8000300 (irq = 3) is a 16550AttyS01 at 0xb8000400 (irq = 3) is a 16550ASoftware Watchdog Timer: 0.05, timer margin: 60 secPCI: Setting latency timer of device 00:01.0 to 64Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim KrasnyanskyPhysically mapped flash: Found an alias at 0x400000 for the chip at 0x0Physically mapped flash: Found an alias at 0x800000 for the chip at 0x0Physically mapped flash: Found an alias at 0xc00000 for the chip at 0x0Physically mapped flash: Found an alias at 0x1000000 for the chip at 0x0Physically mapped flash: Found an alias at 0x1400000 for the chip at 0x0Physically mapped flash: Found an alias at 0x1800000 for the chip at 0x0Physically mapped flash: Found an alias at 0x1c00000 for the chip at 0x0 Amd/Fujitsu Extended Query Table v3.3 at 0x0040number of CFI chips: 1cfi_cmdset_0002: Disabling fast programming due to code brokenness.Flash device: 0x400000 at 0x1c000000bootloader size: 262144Physically mapped flash: Filesystem type: squashfs, size=0x2d1f7cCreating 5 MTD partitions on "Physically mapped flash":0x00000000-0x00040000 : "cfe"0x00040000-0x003f0000 : "linux"0x000c98c8-0x003a0000 : "rootfs"mtd: partition "rootfs" doesn't start on an erase block boundary -- force read-only0x003f0000-0x00400000 : "nvram"0x003a0000-0x003f0000 : "ddwrt"Initializing Cryptographic APIIP Protocols: ICMP, UDP, TCP, IGMPIP: routing cache hash table of 512 buckets, 4KbytesTCP: Hash tables configured (established 1024 bind 2048)ip_conntrack version 2.1 (512 buckets, 4096 max) - 336 bytes per conntrackip_tables: (C) 2000-2002 Netfilter core teamipt_random match loadednetfilter PSD loaded - (c) astaro AGipt_osf: Startng OS fingerprint matching module.ipt_IPV4OPTSSTRIP loadedNET4: Unix domain sockets 1.0/SMP for Linux NET4.0.802.1Q VLAN Support v1.8 Ben Greear All bugs added by David S. Miller VFS: Mounted root (squashfs filesystem) readonly.Mounted devfs on /devdiag boardtype: 00000467PCI: Setting latency timer of device 00:05.0 to 64eth1: Broadcom BCM4320 802.11 Wireless Controller 22.214.171.124vlan0: add 01:00:5e:00:00:01 mcast address to master interfacevlan0: dev_set_promiscuity(master, 1)device eth0 entered promiscuous modedevice vlan0 entered promiscuous modedevice eth1 entered promiscuous modevlan1: Setting MAC address to 00 1c 10 5a b9 0d.vlan1: add 01:00:5e:00:00:01 mcast address to master interfacevlan1: dev_set_promiscuity(master, 1)device vlan1 entered promiscuous modevlan1: dev_set_allmulti(master, 1)device br0 entered promiscuous modevlan1: dev_set_allmulti(master, 1)vlan1: add 01:00:5e:7f:ff:fa mcast address to master interfacevlan0: dev_set_promiscuity(master, -1)device vlan0 left promiscuous modedevice eth1 left promiscuous modevlan0: dev_set_promiscuity(master, 1)device vlan0 entered promiscuous modedevice eth1 entered promiscuous modedevice br0 left promiscuous mode
List of Unix programs
* [http://www.linfo.org/dmesg.html The dmesg Command] - by The Linux Information Project (LINFO)
Wikimedia Foundation. 2010.