Linux는 한 세션에서 기가바이트의 로그를 생성합니다.

Linux는 한 세션에서 기가바이트의 로그를 생성합니다.

Linux Mint 18.3을 실행하는 HP Pavilion 노트북에서 시스템이 단 한두 번의 세션에서 기가바이트의 로그 파일을 생성하는 문제에 직면했습니다(각 세션은 반나절을 넘지 않았습니다).

생성된 대용량 로그 파일은 /var/log/kern.log및 입니다 /var/log/syslog. 그들은 모두 다음 보고서를 작성했습니다.

Feb 27 13:54:38 workstation kernel: [  390.503777] pcieport 0000:00:1d.0: AER: Corrected error received: id=00e8
Feb 27 13:54:38 workstation kernel: [  390.503786] pcieport 0000:00:1d.0: can't find device of ID00e8
Feb 27 13:54:38 workstation kernel: [  390.503802] pcieport 0000:00:1d.0: AER: Multiple Corrected error received: id=00e8
Feb 27 13:54:38 workstation kernel: [  390.504154] pcieport 0000:00:1d.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00e8(Receiver ID)
Feb 27 13:54:38 workstation kernel: [  390.504158] pcieport 0000:00:1d.0:   device [8086:9d1b] error status/mask=00000001/00002000
Feb 27 13:54:38 workstation kernel: [  390.504162] pcieport 0000:00:1d.0:    [ 0] Receiver Error         (First)
Feb 27 13:54:38 workstation kernel: [  390.504172] pcieport 0000:00:1d.0: AER: Corrected error received: id=00e8
Feb 27 13:54:38 workstation kernel: [  390.504180] pcieport 0000:00:1d.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00e8(Receiver ID)
Feb 27 13:54:38 workstation kernel: [  390.504185] pcieport 0000:00:1d.0:   device [8086:9d1b] error status/mask=00000001/00002000
Feb 27 13:54:38 workstation kernel: [  390.504190] pcieport 0000:00:1d.0:    [ 0] Receiver Error         (First)

계속해서. 원래는 이 오류가 시작 시 나타나곤 했는데, 시작 pci=nomis후 일상적인 업무 경험에는 영향을 주지 않는 것 같아서 . /etc/default/grubupdate-grub

그러나 로그가 이제 오류 메시지로 가득 차 있기 때문에 이러한 오류 메시지의 출력을 억제했습니다.

또한 다음을 사용하여 logrotate로그 파일의 파일 크기를 제한 해 보았습니다.

이러한 로그 파일을 허용 가능한 크기(최대 수백 MB)로 유지하는 방법을 아는 사람이 있습니까? 이제는 이러한 로그 파일이 전체 디스크 공간을 차지하지 않도록 수동으로 삭제해야 하는 경우가 많기 때문입니다.

편집 : 출력 lspci -tv:

-[0000:00]-+-00.0  Intel Corporation Sky Lake Host Bridge/DRAM Registers
           +-02.0  Intel Corporation Sky Lake Integrated Graphics
           +-04.0  Intel Corporation Skylake Processor Thermal Subsystem
           +-14.0  Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller
           +-14.2  Intel Corporation Sunrise Point-LP Thermal subsystem
           +-16.0  Intel Corporation Sunrise Point-LP CSME HECI
           +-17.0  Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode]
           +-1c.0-[01]----00.0  NVIDIA Corporation GM108M [GeForce 940MX]
           +-1c.4-[02]----00.0  Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader
           +-1c.5-[03]----00.0  Realtek Semiconductor Co., Ltd. RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller
           +-1d.0-[04]----00.0  Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
           +-1f.0  Intel Corporation Sunrise Point-LP LPC Controller
           +-1f.2  Intel Corporation Sunrise Point-LP PMC
           +-1f.3  Intel Corporation Sunrise Point-LP HD Audio
           \-1f.4  Intel Corporation Sunrise Point-LP SMBus

답변1

로그를 보면 PCI 1d.0의 장치가 많은 로그를 생성하는 것을 볼 수 있습니다.

 pcieport 0000:00:**1d.0**

요청한 명령을 사용하면 lspci -tv해당 장치가 realtek 장치인지 확인할 수 있습니다. 그들은 느리고 버그가 많으며 신뢰할 수 없는 것으로 악명 높습니다.

1d.0-[04]----00.0 Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter

따라서 단기적인 해결책으로 rsyslog이러한 모든 로그/오류를 삭제하도록 지시하는 것이 좋습니다.

rsyslog다음과 같이 이러한 모든 메시지를 무시하도록 구성합니다 .

다음에 추가첫 번째 줄로당신의 /etc/rsyslog.conf:

:msg, contains, "0000:00:1d.0:" ~

이 줄을 추가한 후에는 서비스를 다시 시작해야 합니다 rsyslog. 그렇지 않으면 다음에 다시 시작할 때만 작동합니다.

sudo service rsyslog restart

바라보다불필요한 메시지를 삭제하세요

이 문은 의 맨 위에 있습니다 rsyslog.conf. 이로 인해 다른 작업 문보다 먼저 실행됩니다. 따라서 수신된 모든 메시지는 문자열과 비교하여 확인되며 일치하는 항목이 발견되면 삭제됩니다.

장기적인 해결책을 찾으려면 노트북 제조사 및 모델과 호환되는 다른 Wi-Fi PCIe 카드를 구입하세요. Realtek에는 버그가 너무 많습니다.

관련된:ASUS USB-N13 어댑터를 사용한 Wi-Fi 문제

추가 참고 사항:

  • 8086:9d1b는 PCI 컨트롤러입니다.
  • 나는 또한 OP의 단서로 제안했지만 문제가 해결되지 않았습니다. pci=nomsipci=noaer커널 매개 변수로 전달해보십시오. 바라보다PCIe 버스 오류 심각도;
  • 로그 파일을 교체할 때 로그 기록을 유지할 필요가 없다면 오래된 로그를 삭제하는 것을 잊지 마세요.
  • 가능한 중기적 해결책은 WiFi 스틱을 사용하고 Realtek WiFi 모듈을 블랙리스트에 추가하는 것입니다.
  • 질문에 [realtek] 및 [rsyslog] 태그를 추가했습니다.

관련 정보