리눅스 명령어 dmesg 완벽 정리
시스템이 갑자기 멈췄을 때, 부팅이 느려졌을 때... 가장 먼저 확인해야 할 명령어, 바로 dmesg입니다.
안녕하세요, 리눅스를 쓰다 보면 "이거 왜 이래?" 싶을 때 많죠. 저도 예전에 새로 설치한 리눅스 서버가 부팅은 되는데 화면은 까맣고, 키보드도 안 먹히고, 진짜 멘붕이었거든요. 그럴 때 누가 알려준 게 바로 dmesg
였어요. 그 이후로 dmesg는 제 리눅스 생활의 필수 도구가 되었죠. 오늘은 이 강력한 명령어를 파헤쳐 볼게요.
목차
dmesg란 무엇인가?
dmesg
는 'diagnostic message'의 줄임말로, 커널 메시지를 출력해주는 리눅스 명령어입니다. 쉽게 말하면, 시스템이 부팅되면서 또는 장치를 인식하거나 오류가 발생할 때 커널이 기록한 내용을 보여주는 거예요. 시스템이 왜 부팅에 실패했는지, 어떤 장치에서 오류가 발생했는지, USB가 왜 안 먹히는지 등을 알 수 있는 실마리를 줍니다.
기본 사용법과 출력 구조
dmesg
를 입력하면 시스템의 부팅 로그부터 최근의 커널 메시지가 순서대로 쭉 출력됩니다. 다음은 주요 옵션들과 로그 구조입니다:
옵션 | 설명 |
---|---|
-T | 타임스탬프를 사람이 읽을 수 있게 출력 |
--color=always | 출력 색상 활성화 |
--level=err,warn | 에러/경고만 필터링 |
필터링 옵션으로 원하는 로그 찾기
로그가 많을수록 원하는 정보를 찾기 힘들죠. dmesg
는 이런 필터링 기능이 강력해서 특정 이슈를 빠르게 파악할 수 있어요. 예를 들어 USB 관련 메시지만 보고 싶다면 아래처럼 하면 됩니다.
-
dmesg | grep usb
- USB 관련 메시지만 출력 -
dmesg --facility=daemon
- 특정 facility 필터링 -
dmesg --level=emerg,alert
- 심각한 문제만 보기
장애 분석에 dmesg 활용하기
어느 날 갑자기 시스템이 멈추거나 부팅이 느려질 때, dmesg는 거의 유일하게 실마리를 줄 수 있는 툴이에요. 예전에 RAID 설정을 잘못해서 부팅이 지연됐던 적이 있는데, dmesg를 보니까 디스크가 타임아웃으로 인식되지 못하고 있다는 메시지가 딱 나오더라고요. 이처럼 커널 레벨의 메시지를 통해 원인을 유추하고 빠르게 조치할 수 있는 게 dmesg의 매력이죠.
출력 예시 및 주요 키워드 정리
dmesg 출력은 처음 보면 복잡하지만, 익숙해지면 키워드만 봐도 어떤 상황인지 금방 파악할 수 있어요. 아래는 자주 등장하는 메시지 유형입니다.
키워드 | 설명 |
---|---|
usb | USB 장치 연결/해제, 인식 실패 로그 |
ata | 디스크 인식, 타임아웃, 읽기/쓰기 오류 |
kernel panic | 치명적 오류로 커널이 중단된 상태 |
실전 팁: dmesg 고급 활용법
dmesg를 좀 더 똑똑하게 쓰려면 아래 팁들을 참고해 보세요.
-
dmesg -w
를 사용하면 실시간으로 로그를 모니터링할 수 있어요. -
시스템 로그와 함께
journalctl -k
명령어도 같이 쓰면 더 강력한 분석이 가능해요. - logrotate와 연계하면 오래된 커널 메시지도 관리할 수 있답니다.
기본적으로는 root 권한이 있어야 모든 로그를 볼 수 있어요. 일반 사용자는 일부 제한된 정보만 확인 가능합니다.
dmesg 자체는 휘발성이며, 저장되지 않아요. 다만 rsyslog나 systemd-journald 설정을 통해 저장할 수 있어요.
네, sudo dmesg -C
명령어로 현재 메시지를 클리어할 수 있어요. 하지만 로그 백업은 먼저 해두는 게 좋아요.
네, 시스템이 부팅되면서 커널이 기록한 모든 메시지가 dmesg에 포함되어 있어요. 부팅 속도 분석에도 유용합니다.
맞아요. 커널 패닉 직전의 로그가 담겨 있어서 원인을 추적하는 데 중요한 단서가 됩니다.
dmesg는 커널 메시지만 다루고, journalctl은 전체 시스템 로그를 관리해요. 둘을 함께 쓰면 완벽한 분석이 가능해요.
dmesg는 겉보기에 단순한 명령어지만, 리눅스 시스템의 속을 들여다보는 창문 같은 존재예요. 이 글을 통해 dmesg가 단순히 커널 로그를 출력하는 명령어를 넘어서, 시스템 문제 해결에 얼마나 강력한 도구인지 느끼셨길 바라요. 여러분도 한 번쯤 부팅 로그를 들여다보며 시스템의 숨은 이야기를 찾아보는 건 어떨까요? 댓글로 여러분의 dmesg 활용 팁이나 에피소드도 들려주세요!
리눅스, dmesg, 커널로그, 시스템분석, 장애처리, 리눅스기초, 로그분석, 서버운영, 커맨드라인, 시스템관리