From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

dmesg (display message or driver message) is a command on most Unix-like operating systems that prints the message buffer of the kernel.[1] The output of this command typically contains the messages produced by the device drivers.


When initially booted, a computer system loads its kernel into memory. At this stage device drivers present in the kernel are set up to drive relevant hardware. Such drivers, as well as other elements within the kernel, may produce output ("messages") reporting both the presence of modules and the values of any parameters adopted. (It may be possible to specify boot parameters which control the level of detail in the messages.) The booting process typically happens at a speed where individual messages scroll off the top of the screen before an operator can read/digest them. (Some keyboard keys may pause the screen output.) The dmesg command allows the review of such messages in a controlled manner after the system has started.[2]

After booting[edit]

Even after the system has fully booted, the kernel may occasionally produce further diagnostic messages. Common examples of when this might happen are when I/O devices encounter errors, or USB devices are hot-plugged. dmesg provides a mechanism to review these messages at a later time. When first produced they will be directed to the system console: if the console is in use then these messages may be confused with or quickly overwritten by the output of user programs.


The output of dmesg can amount to many complete screens. For this reason, this output is normally reviewed using standard text-manipulation tools such as more, tail, less or grep.[3] The output is often captured in a permanent system logfile via a logging daemon, such as syslog.

See also[edit]

  • lspci, detailed information about all PCI buses and devices in the system
  • lsusb, detailed information about USB ports and devices
  • uname prints the name, version and other details about the current machine and the operating system
  • List of Unix commands


  1. ^
  2. ^ Gareth Anderson (15 April 2006). "GNU/Linux Command-Line Tools Summary" (PDF). The Linux Documentation Project. p. 32. Archived from the original (PDF) on 23 Nov 2016. Retrieved 29 May 2017.
  3. ^ Mendel Cooper (5 April 2012). "Advanced Bash-Scripting Guide" (PDF). The Linux Documentation Project. p. 329. Archived from the original (PDF) on 18 May 2017. Retrieved 29 May 2017.

External links[edit]