개요
지난 2년 정도 동안 SSD를 읽기 전용으로 만드는 파일 시스템 오류로 인해 데스크탑 컴퓨터가 간헐적으로 충돌했습니다. 아무 일도 일어나지 않고 일주일 이상 실행될 수 있으며 특정 날짜에 두 번 이상 충돌이 발생할 수 있습니다. 백업 및 복구 중 쓰기 작업이 많거나 시작 직후에 자주 발생하는 것으로 보이지만 다른 경우에도 발생할 수 있습니다. 간헐적인 충돌 문제를 해결했다고 생각한 적도 있었지만, 얼마 지나지 않아 또 그런 일이 일어났습니다.
편집: 이러한 종료로 인해 UEFI 부팅 항목이 손상되어 부팅하는 데 전원을 여러 번 껐다 켜야 하는 경우가 많습니다.
또한 파일을 USB 드라이브에 올바르게 복사하는 데 문제가 있었지만 $ dd
아래 설명된 대로 RAM 구성을 수정한 후 문제가 해결된 것 같습니다.
이는 다양한 배포판(모두 Debian 기반)과 여러 파일 시스템(ext4 및 btrfs)의 여러 설치에서 발생합니다.
내 데이터는 외부 드라이브에 백업되고 가장 중요한 부분은 동기화를 통해 다른 장치에 저장됩니다. SSD는 언제든지 고장날 수 있다는 것을 알고 있습니다.
사양 및 구성
CPU: AMD 라이젠 9 3900x
SSD: 1TB 삼성 970 EVO 플러스
RAM: Crucial Ballistix 3200MHz(16GB x 2) BL2K16G32C16U4B
마더보드: ASRock B550 팬텀 ITX
현재 릴리스: KDE Neon
내가 시도한 것들
몇 달 전에 memtester(리눅스에서 실행되고 독립적으로 부팅되지 않음)를 사용하여 RAM을 테스트했으며 아마도 1년 전에는 더 광범위하게 테스트했을 것입니다. 이 RAM으로 수행한 테스트에서는 메모리 오류가 발생하지 않았습니다.
나는 내 RAM에 1.35V의 기본 공장 오버클럭 전압이 필요하다는 것을 발견했습니다. BIOS에서 이 문제를 해결했습니다. 이는 USB 드라이브 및 SD 카드에 대한 잘못된 쓰기를 해결하는 데 도움이 되는 것으로 보이지만 간헐적인 충돌을 해결하지는 않습니다. 이전에 다른 설정을 읽어보고 조정한 적이 있는데 현재는 모든 것이 공장 기본값으로 설정되어 있는 것 같습니다.
약 1년 전에 UEFI 펌웨어를 업데이트했습니다.
UEFI 펌웨어를 최신 버전으로 업데이트했습니다.
SSD의 펌웨어 업그레이드를 시도했지만 해당 버전에서 지원하는 최신 버전인 것 같습니다.
위에서 언급한 대로 시작 매개변수에 대한 ASPM 설정을 조정했습니다.이것비슷한 증상으로 문제가 발생합니다.
smartmontools -> smartctl을 사용하여 SSD를 확인했습니다. 아무것도 평범하지 않은 것 같았습니다.
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 56 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 0%
Data Units Read: 19,717,312 [10.0 TB]
Data Units Written: 39,276,405 [20.1 TB]
Host Read Commands: 117,854,095
Host Write Commands: 1,047,333,000
Controller Busy Time: 1,195
Power Cycles: 702
Power On Hours: 1,261
Unsafe Shutdowns: 30
Media and Data Integrity Errors: 0
Error Information Log Entries: 3,591
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Temperature Sensor 1: 56 Celsius
Temperature Sensor 2: 55 Celsius
journalctl | egrep 'kernel.*nvme'
편집: 이는 종료 및 재부팅을 트리거한 직후에 dmesg에 출력되는 관련 라인입니다 $ stress-ng --hdd $(nproc)
.
Jul 03 23:38:51 $HOSTNAME kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-5.13.0-51-generic root=UUID=e624d68e-7ffe-4bdb-98e3-a349ac9cc3e0 ro quiet splash nvme_core.default_ps_max_latency_us=0 pcie_aspm=off vt.handoff=7
Jul 03 23:38:51 $HOSTNAME kernel: Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.13.0-51-generic root=UUID=e624d68e-7ffe-4bdb-98e3-a349ac9cc3e0 ro quiet splash nvme_core.default_ps_max_latency_us=0 pcie_aspm=off vt.handoff=7
Jul 03 23:38:51 $HOSTNAME kernel: nvme nvme0: pci function 0000:01:00.0
Jul 03 23:38:51 $HOSTNAME kernel: nvme nvme0: missing or invalid SUBNQN field.
Jul 03 23:38:51 $HOSTNAME kernel: nvme nvme0: Shutdown timeout set to 8 seconds
Jul 03 23:38:51 $HOSTNAME kernel: nvme nvme0: 32/0/0 default/read/poll queues
Jul 03 23:38:51 $HOSTNAME kernel: nvme0n1: p1 p2 p3 p4 p5
Jul 03 23:38:51 $HOSTNAME kernel: EXT4-fs (nvme0n1p3): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Jul 03 23:38:51 $HOSTNAME kernel: EXT4-fs (nvme0n1p3): re-mounted. Opts: (null). Quota mode: none.
Jul 03 23:38:51 $HOSTNAME kernel: Adding 67108860k swap on /dev/nvme0n1p2. Priority:-2 extents:1 across:67108860k SSFS
Jul 03 23:38:51 $HOSTNAME kernel: EXT4-fs (nvme0n1p4): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Jul 03 23:38:52 $HOSTNAME kernel: EXT4-fs (nvme0n1p5): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
나의 발견
마침내 충돌이 발생하는 원인을 발견했습니다.
$ stress-ng --hdd $(nproc)
$ iotop -o
디스크가 읽기 전용 상태로 강제 전환되어 10초 이내에 모든 I/O 활동이 중지되고 systemd-journald 또는 기타 디스크에 쓸 수 없는 상태로 인해 20초 이내에 종료되는 것을 보여줍니다.
~에 따르면수동스트레스-ng의 경우 임시 파일을 쓰고, 읽고, 삭제합니다. 다른원천write() 및 unlink() 호출을 사용한다고 주장합니다.
다음과 같은 다른 옵션
$ stress-ng --io $(nproc)
$ stress-ng --cpu $(nproc)
$ stress-ng --vm $(nproc)
$ stress-ng --iomix $(nproc)
아무런 문제를 일으키지 않는 것 같습니다.
질문
내 컴퓨터를 지속적으로 충돌시키는 스트레스 테스트 $ stress-ng --hdd $(nproc)
의 고유한 기능은 SSD 하드웨어가 원인이라는 것을 의미합니까?
SSD는 치명적인 오류로 알려져 있다는 것을 읽었으므로 문제가 실제로 SSD에 있는지 확실하지 않습니다. 저는 문제의 본질을 더 잘 이해하는 데 매우 관심이 있으므로 관련 문서에 대한 링크나 해당 주제에 대해 제가 제공할 수 있는 지혜로운 말을 주시면 정말 감사하겠습니다.