smartctl: 읽기를 일시 중지하여 디스크의 나머지 부분을 검색합니다.

smartctl: 읽기를 일시 중지하여 디스크의 나머지 부분을 검색합니다.

다음 명령을 사용하여 스캔 디스크 읽기를 시작했습니다.

smartctl -t select,10-11 -t afterselect,on -t pending,45 /dev/sda

그러나 디스크 성능이 저하되는 것 같습니다. 디스크 활동이 있을 때 읽기 스캔(테스트와 마찬가지로)이 일시 중지될 것으로 예상했습니다.

또한 읽기 스캔(예: 테스트)이 서버에 부하 없이 실행될 것으로 예상했지만, 내가 이해한 바에 따르면 iostat -x -d 1읽기 테스트는 컨트롤러를 통과하는 것 같습니다.

이게 정상인가요? 디스크가 활성 상태인 동안 읽기 스캔을 일시 중지할 수 있습니까(예: 500ms 동안 유휴 상태일 때만 읽기 스캔 실행)?

답변1

smartctl 매뉴얼 페이지에 따르면 abort non-forced 테스트를 사용할 수 있습니다 smartctl -X /dev/sda. 해당 페이지에 따르면 선택 테스트는 해당 옵션을 사용하지 않았기 때문에 필수 테스트가 아닙니다 -C.

그러나 모든 테스트는 성능을 저하시킨다는 점에 유의하십시오. 디스크가 잠시 동안(몇 밀리초 정도) 유휴 상태일 때만 실행되지만 여전히 디스크 헤드를 다른 위치로 이동하므로 디스크는 더 많은 실제 데이터 활동을 찾아야 합니다. 사용량이 많은 서버에서는 몇 주가 걸리고 성능이 항상 저하되기 short때문에 테스트 만 실행할 수 있습니다.long

답변2

오래된 스레드에 추가해서 죄송합니다. 하지만 알아두는 것이 중요하다고 생각합니다.SSD자체 테스트를 실행해도 감소하지 않을 수 있습니다. SSD에는 분리 가능한 읽기 및 쓰기 헤드가 없으며 자체 테스트는 PC의 읽기 또는 쓰기 요청을 처리하는 것보다 우선순위가 낮은 작업일 수 있습니다.

Windows PC에 Crucial MX500 SSD C:가 있고 PC는 smartctl -t select,0-MAX -t pending,0 C:SSD 자체 테스트가 거의 지속적으로 실행되도록 정기적으로 예약된 스크립트를 실행하고 있습니다. SSD 성능은 저하되지 않습니다.

(이러한 자체 테스트의 목적은 과도한 쓰기 증폭을 유발하는 심각한 버그를 완화하는 것입니다. 이는 Google에서 검색할 수 있는 "Bogus Current Pending Sectors"라는 더 널리 알려진 심각한 버그와 관련이 있습니다. 분명히 해당 버그의 프로세스는 다음과 같습니다. 자체 테스트 중에는 우선 순위가 낮은 백그라운드 작업이므로 SSD 자체에 대한 잘못된 쓰기는 자체 테스트 사이의 짧은 일시 중지 중에만 발생합니다. 일시 중지의 목적은 SSD가 가끔 실행되도록 허용하는 것이며 이는 SSD의 상태에 매우 중요합니다. . 우선순위가 낮은 프로세스(예: 마모 평준화)

자체 테스트를 통해 CrystalDiskMark 벤치마크를 실행했을 때 SSD의 성능이 Crucial에서 공개한 새로운 MX500 속도 사양보다 약간 더 나은 것으로 나타났습니다.. 자체 테스트는 SSD가 저전력 모드로 들어가는 것을 방지하기 때문에(이는 SSD의 전원 켜기 시간 스마트 속성에 대한 자체 테스트의 영향을 관찰하여 추론할 수 있음), 자체 테스트를 통해 SSD가 저전력 모드로 전환될 수 있다는 것이 내 이론입니다. PC 읽기 또는 쓰기를 처리하는 동안 약간의 시간을 절약하려면 요청 시 저전력 모드에서 일반 모드로 전환해야 합니다.

관련 정보