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 관련 공식 문서에서 확인할 수 있습니다.









