시스템 모니터에 디스크 IO 활동이 표시되지 않을 때 데스크탑 컴퓨터의 HDD LED가 깜박이는 이유는 무엇입니까?

시스템 모니터에 디스크 IO 활동이 표시되지 않을 때 데스크탑 컴퓨터의 HDD LED가 깜박이는 이유는 무엇입니까?

오늘 디스크(SSD)에 쓰거나 읽는 프로세스가 없는 경우에도 데스크탑 HDD LED가 깜박이는 것을 발견했습니다.

터미널을 열고 htop모든 프로세스를 실행하고 정렬 했습니다 IO_RATE. 내 컴퓨터 HDD LED가 여전히 초당 1~2회 깜박이는데도 디스크에서 쓰거나 읽는 프로세스가 없다는 것을 분명히 알 수 있습니다. 왜 이런 일이 발생합니까?

답변1

이런 일이 발생하는 데에는 여러 가지 이유가 있습니다. 대부분의 경우 Linux에서의 쓰기는 쓰기 저장(페이지가 페이지 캐시에 버퍼링된 다음 디스크에 플러시됨)으로 발생하며 이후에 무기한 발생할 수 있습니다. write()반면 I/O 카운터는 일반적으로 즉각적인 쓰기/읽기 처리량을 측정합니다.

또 다른 점은 이러한 카운터가 디스크가 아닌 Linux가 수행하려는 작업만 알고 있다는 것입니다(카운터에 따라 쓰기 저장 및 I/O 스케줄러 결정과 같은 작업도 제외할 수도 있음). 많은 디스크는 운영 체제에 보이지 않는 작업을 독립적으로 수행합니다. 특히 주목할만한 예(귀하의 경우는 아니지만 여전히)는 SMR 디스크입니다. OS가 데이터 쓰기를 완료하는 데 오랜 시간이 걸리더라도 디스크는 더 빠른 중간 저장소에서 슁글로 데이터를 이동한 후에도 여전히 작동합니다.

일반적으로 운영 체제 계층에서 I/O를 측정하는 것은 부정확한 경우가 많으며 사용되는 카운터 htop도 가장 발전된 것이 아닙니다. 더 자세히 알아보려면 io.stat보다 세부적이고 가시적인 보고 기능을 갖춘 cgroup v2를 사용해 보세요.

관련 정보