Linux / 명령어 / dmesg - 커널 메시지와 부팅 로그 확인

dmesg는 커널 링 버퍼에 기록된 메시지를 읽습니다. 부팅 중 하드웨어 인식, 드라이버, 파일시스템 또는 커널 경고를 조사할 때 유용합니다.

dmesg 명령어란?

커널 링 버퍼는 크기가 제한돼 오래된 메시지가 덮일 수 있습니다. 기본 출력에는 여러 중요도와 시점의 기록이 섞입니다. -T의 사람이 읽는 시각은 시스템 시각 보정에 따라 부정확할 수 있어, 정확한 시점 분석에는 저널의 부팅 로그와 함께 보세요.

기본 문법

dmesg [옵션]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man dmesg으로 현재 시스템의 설명을 확인하세요.

사용 예제

커널 메시지 확인

최근 기록까지 출력하므로 화면이 길면 페이저를 사용합니다.

dmesg | less

경고와 오류만 보기

문제 조사 범위를 오류·경고 수준으로 줄입니다.

dmesg --level=err,warn

새 메시지 따라가기

새로 들어오는 커널 메시지를 실시간으로 확인합니다. Ctrl+C로 중단합니다.

dmesg --follow

커널 메시지와 상대 시각 읽기

dmesg의 기본 시간 표시는 보통 부팅 후 경과 시간 기준입니다. 숫자 뒤에 하드웨어·드라이버·파일시스템 관련 메시지가 이어집니다.

dmesg --level=err,warn | tail -n 3

예시 형식(실제 메시지는 시스템마다 다름):

[   12.345678] device: warning message

빈 출력이라면 현재 링 버퍼에 해당 수준의 메시지가 없을 수 있고, 권한 제한 때문에 읽지 못하면 오류가 표시됩니다. 링 버퍼는 크기가 제한되어 오래된 기록이 사라질 수 있으므로 이전 부팅 사건은 journalctl -k -b -1처럼 journal 보존 여부를 함께 확인하세요. dmesg -c는 버퍼를 비우므로 단순 확인에 사용하지 않습니다.

주요 옵션과 형식

옵션·형식 설명
--level=목록 지정한 우선순위의 메시지만 표시합니다.
-T 사람이 읽기 쉬운 시각을 표시합니다.
-H 사람이 읽기 좋은 출력과 페이저를 사용합니다.
-w 새 메시지를 계속 기다립니다.
-k 커널 메시지만 표시합니다.

사용할 때 주의할 점

일부 배포판은 비관리자의 커널 로그 읽기를 제한하므로 권한 오류가 나면 정책을 확인하세요. dmesg -c나 --clear는 버퍼를 지우므로 단순 조회에 사용하지 않습니다. 메시지가 없다고 문제가 없다는 뜻은 아닙니다. 이전 부팅 기록은 저널 보존 설정에 따라 journalctl -k -b -1로 확인할 수 있습니다.

자주 묻는 질문

dmesg와 journalctl -k는 같은가요?

둘 다 커널 메시지를 확인하지만 dmesg는 커널 링 버퍼를 읽고, journalctl -k는 수집·보존된 저널의 커널 항목을 조회합니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 dmesg 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / pwd - 현재 작업 디렉터리 경로 확인

Linux / 명령어 / pwd - 현재 작업 디렉터리 경로 확인

Linux pwd 명령어로 현재 작업 디렉터리를 확인하는 방법을 설명합니다. 논리적 경로와 물리적 경로, 셸 내장 명령과 PWD 변수의 차이도 함께 알아봅니다.

Linux / 명령어 / df - 파일 시스템의 남은 용량 확인

Linux / 명령어 / df - 파일 시스템의 남은 용량 확인

Linux df 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / tac - 파일을 마지막 줄부터 역순 출력

Linux / 명령어 / tac - 파일을 마지막 줄부터 역순 출력

Linux tac 명령어로 파일의 줄 순서를 뒤집어 마지막 줄부터 출력하는 방법을 설명합니다. 여러 파일 처리, 구분자 변경과 로그 확인 예제를 함께 정리합니다.

Linux / 리눅스 Bash 명령어 연결 연산자: ;, &&, ||, &, | 사용법

Linux / 리눅스 Bash 명령어 연결 연산자: ;, &&, ||, &, | 사용법

리눅스 Bash의 ;, &&, ||, &, |, |&, ! 차이를 종료 상태와 실제 예제로 설명합니다. 조건부 실행, 백그라운드 작업, 파이프라인과 pipefail 사용법까지 정리합니다.

Linux / 명령어 / mkfs - 새 파일 시스템 생성 전 확인 사항과 사용법

Linux / 명령어 / mkfs - 새 파일 시스템 생성 전 확인 사항과 사용법

Linux mkfs 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / printf - 지정한 형식으로 값 출력

Linux / 명령어 / printf - 지정한 형식으로 값 출력

Linux printf 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / whoami - 현재 유효 사용자 이름 확인

Linux / 명령어 / whoami - 현재 유효 사용자 이름 확인

Linux whoami 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / fold - 긴 행을 지정한 너비로 나누기

Linux / 명령어 / fold - 긴 행을 지정한 너비로 나누기

Linux fold 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux 강좌 / 파일 권한 읽고 바꾸기와 sudo 사용법

Linux 강좌 / 파일 권한 읽고 바꾸기와 sudo 사용법

리눅스 파일과 디렉터리의 읽기·쓰기·실행 권한을 해석하고 chmod로 실습 파일의 권한을 바꿉니다. sudo의 사용 범위와 권한 오류를 진단하는 순서도 설명합니다.

Linux 강좌 / 터미널과 셸 시작하기 - 명령어 구조와 도움말 읽기

Linux 강좌 / 터미널과 셸 시작하기 - 명령어 구조와 도움말 읽기

터미널과 셸의 차이부터 명령어·옵션·인수의 구조, 실행 결과 읽기, Bash 도움말 찾기까지 실습으로 익힙니다.