2026년 11월 13일 금요일

PCIe AER Correctable 오류가 저널을 시간당 수천 줄씩 채울 때 — pcie_aspm=off

홈 서버의 저널이 이상하게 빨리 불어나서 들여다보니, 커널이 같은 PCIe 오류 메시지를 시간당 7,000줄 가까이 찍고 있었다. 장치는 멀쩡히 동작하는데 로그만 쏟아지는 경우다.

증상

journalctl -k --since "1 hour ago" | grep -c AER

수천 건이 나온다. 메시지는 대략 이런 모양이다.

pcieport 0000:00:1c.0: AER: Correctable error message received
pcieport 0000:00:1c.0: PCIe Bus Error: severity=Correctable, type=Physical Layer
pcieport 0000:00:1c.0:   device [...] error status/mask=00000001/00002000
pcieport 0000:00:1c.0:    [ 0] RxErr

"Correctable" 이라는 말 그대로 하드웨어가 스스로 복구한 오류라서 기능에는 문제가 없다. 다만 저널 용량과 디스크 쓰기를 잡아먹고, 정작 봐야 할 로그를 묻어 버린다.

원인 찾기

메시지에 나오는 주소는 장치가 아니라 그 장치가 꽂힌 루트 포트다. 그 아래에 무엇이 달려 있는지 본다.

lspci -tv

내 경우 해당 포트에는 Realtek 무선랜 카드(RTL8723BE)가 달려 있었다. 이 계열 카드가 PCIe 절전 기능인 ASPM 과 궁합이 좋지 않아, 링크가 절전 상태를 드나들 때마다 수신 오류가 생기고 그때마다 AER 이 보고하는 것으로 보였다.

해결

커널 부팅 옵션으로 ASPM 을 껐다. 원본 설정은 백업해 둔다.

sudo cp /etc/default/grub /etc/default/grub.bak
sudoedit /etc/default/grub
# GRUB_CMDLINE_LINUX_DEFAULT="... pcie_aspm=off"
sudo update-grub
sudo reboot

재부팅 뒤 같은 명령으로 세어 보니 0건이었다.

다른 선택지와 비교

  • pci=noaer: 오류 보고 자체를 끈다. 로그는 조용해지지만 원인은 그대로이고, 진짜 문제가 생겨도 알 수 없게 된다.
  • pcie_aspm=off: 원인(절전 전환)을 없앤다. 대신 PCIe 장치들이 절전하지 않으므로 전력 소모가 조금 늘어난다. 항상 켜 두는 서버라면 받아들일 만하고, 배터리로 쓰는 노트북이라면 따져 볼 일이다.
  • 쓰지 않는 장치라면 BIOS 에서 끄거나 드라이버 모듈을 막는 방법도 있다.

정리

로그 폭주는 "고장"보다 "궁합"인 경우가 많다. 주소로 장치를 찾아 원인을 좁히고, 보고를 끄기보다 원인을 없애는 옵션을 먼저 시도한다. 그리고 저널에는 상한을 걸어 둔다(journald.conf 의 SystemMaxUse). 같은 일이 또 생겨도 디스크가 차는 일은 막을 수 있다.

댓글 없음:

댓글 쓰기

반도체 주식을 보기 전에 그려 두는 지도 — 설계, 파운드리, 메모리, 장비, 소재, 후공정

"반도체주"라고 한 묶음으로 부르지만, 그 안의 회사들은 하는 일도 돈 버는 방식도 전혀 다르다. 같은 뉴스에 어떤 회사는 오르고 어떤 회사는 내리는 이유가 여기에 있다. 종목을 들여다보기 전에 머릿속에 그려 두면 좋은 지도를 정리한...