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 강좌 / 배포판 선택하기

Linux 강좌 / 배포판 선택하기

리눅스 입문과 서버 실습에 Ubuntu와 Rocky Linux 중 무엇을 선택하면 좋을까요? 학습 목표, 패키지 관리 방식과 지원 정책을 기준으로 두 배포판을 비교합니다.

Linux / 디스크 관리 / 파티션, 포맷, 마운트

Linux / 디스크 관리 / 파티션, 포맷, 마운트

Linux에서 디스크를 관리할 때 필요한 파티션 생성, 파일 시스템 포맷, 마운트 방법을 정리했습니다.

Linux / 명령어 / ln - 하드 링크와 심볼릭 링크 생성

Linux / 명령어 / ln - 하드 링크와 심볼릭 링크 생성

Linux ln 명령어로 하드 링크와 심볼릭 링크를 만드는 방법을 설명합니다. 두 링크의 차이, 상대 경로, 깨진 링크와 기존 링크 교체 시 주의점도 정리합니다.

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

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

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

Linux / 명령어 / nslookup - DNS 이름과 레코드 조회

Linux / 명령어 / nslookup - DNS 이름과 레코드 조회

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

Linux / 명령어 / apk - Alpine Linux 패키지 설치·제거와 저장소 갱신

Linux / 명령어 / apk - Alpine Linux 패키지 설치·제거와 저장소 갱신

Linux apk 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux 강좌 / systemd 서비스와 부팅 로그 확인하기

Linux 강좌 / systemd 서비스와 부팅 로그 확인하기

리눅스 부팅 흐름과 systemd 유닛을 이해하고 서비스의 실행 상태와 자동 시작 설정을 구분합니다. systemctl과 journalctl로 상태·부팅 로그를 확인합니다.

Linux / 명령어 / jobs - 현재 셸의 작업 목록 확인

Linux / 명령어 / jobs - 현재 셸의 작업 목록 확인

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

Linux / 명령어 / file - 파일 종류와 형식 확인

Linux / 명령어 / file - 파일 종류와 형식 확인

Linux file 명령어로 확장자와 관계없이 실제 파일 형식, MIME 유형과 문자 인코딩을 확인하는 방법을 설명합니다. 심볼릭 링크, 압축 파일, 여러 파일 검사와 스크립트 활용법도 정리합니다.

Linux / 명령어 / resolvectl - systemd DNS 설정과 이름 조회 상태 확인

Linux / 명령어 / resolvectl - systemd DNS 설정과 이름 조회 상태 확인

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