하드 드라이브는 디스크 목록만 가져오는 프로세스/응용 프로그램에 의해 시작됩니까? 그것을 방지하는 방법?

하드 드라이브는 디스크 목록만 가져오는 프로세스/응용 프로그램에 의해 시작됩니까? 그것을 방지하는 방법?

저는 OS용 대형 1TB SSD와 자주 액세스하는 모든 파일을 갖춘 연중무휴 24시간 가동되는 Debian Jessie 기반 헤드리스 홈 서버를 보유하고 있습니다. 시스템에는 SnapRAID 어레이에 4개의 더 큰 하드 드라이브가 있습니다. 이는 자주 액세스하지 않고 실제로 읽거나 쓰지 않는 한 해당 드라이브가 계속 회전하기를 원하는 Blu-ray 디스크를 보관하는 데 주로 사용됩니다.모두 ext4로 포맷되어 있으며 noatime 및 nodiratime이 활성화된 상태로 설치됩니다.

따라서 어떤 프로세스나 프로그램도 직접적으로 이러한 드라이브에 정기적으로 액세스하지 않아도 하드 드라이브는 대기 상태에서 지속적으로 회전합니다.Chromium과 같은 GUI 파일 브라우저를 제공하는 그래픽 프로그램과 관련이 있는 것 같습니다. 드라이브를 탐색하지도 않았다면 프로세스가 사용 가능한 드라이브 목록을 가져오고 하드 드라이브를 부팅할 것이라고 생각했을 것입니다. 마치 블키드처럼요.문제는 이러한 프로세스 중 어느 것도 실제로 해당 드라이브의 파일 시스템을 읽거나 쓰지 않으므로 근본 원인을 파악하기가 어렵다는 것입니다. 따라서 파일이 실제로 변경되거나 건드리지 않습니다. 사용 가능한 디스크 목록을 가져오는 것만으로도 이러한 프로그램이 하드 드라이브를 회전시키는 것을 방지하기 위해 채울 수 있는 일종의 캐시나 버퍼가 있습니까? 파일 시스템에 직접 액세스하지 않고도 이러한 디스크를 계속 회전시킬 수 있는 안정적인 방법을 찾을 수 없기 때문에 이는 솔직히 나를 미치게 만듭니다.

고쳐 쓰다: Stephen 님의 답변 덕분에 디스크 활동을 추적할 수 있었습니다.중력으로 인한 가속도그리고유티카. 정말 슬픈 점은 이러한 프로세스가 파일 시스템에 대한 실제 I/O를 수행하기 위해 실제로 디스크에 액세스하지 않고 대기 상태의 디스크를 깨우도록 요구한다는 것입니다. 지금까지는 PCManFM 등의 일부 기능이 제거될 것이라는 것을 알고 있기 때문에 방금 제거했습니다.

답변1

당신은 그것을 사용할 수 있습니다blktrace(쓸 수 있는Debian에서는 특정 장치의 모든 활동을 추적합니다.

sudo blktrace -d /dev/sda -o - | blkparse -i -

그렇지 않으면

sudo btrace /dev/sda

의 모든 활동이 표시됩니다 /dev/sda. 출력은 다음과 같습니다.

  8,0    3       51   135.424002054 16857  D  WM 167775248 + 8 [kworker/u16:0]
  8,0    3       52   135.424011323 16857  I  WM 209718336 + 8 [kworker/u16:0]
  8,0    3        0   135.424011659     0  m   N cfq496A  / insert_request

다섯 번째 열은 프로세스 식별자이고 마지막 열은 프로세스가 있는 경우 프로세스 이름을 제공합니다.

나중에 분석하기 위해 추적을 저장할 수도 있습니다. blktrace이전에 언급 및blkparse한 .bttblktrace/usr/share/doc/blktraceblktrace종이회전의 원인이 무엇인지 알아낼 수 있어야 합니다.

답변2

시도해 보십시오 strace:

strace -f -e open ls

위 명령은 open디스크 회전을 유발하는 것으로 의심되는 방법과 관련된 모든 디스크 활동을 나열해야 합니다.

또는 dmesg물리적 디스크 설치/제거에 대한 일부 정보가 제공될 수도 있습니다.

이 웹사이트strace디스크 활동을 모니터링하는 방법에 대한 좋은 가이드가 있습니다.

디스크 I/O를 중지하기 위해 캐시를 채우는 것이 가능한지는 의심스럽지만 틀릴 수도 있습니다.

관련 정보