Por que o LED do HDD no meu computador desktop está piscando quando o monitor do sistema não mostra nenhuma atividade de io do disco presente?

Por que o LED do HDD no meu computador desktop está piscando quando o monitor do sistema não mostra nenhuma atividade de io do disco presente?

Hoje notei que o LED do HDD dos meus desktops está piscando mesmo que não haja processos de gravação ou leitura do disco (SSD).

Abri um terminal, executei htope classifiquei todos os processos por IO_RATE. Posso ver claramente que nenhum dos processos estava gravando ou lendo o disco, embora o LED do HDD do meu computador ainda piscasse 1 a 2 vezes por segundo. Por que isso poderia estar acontecendo?

Responder1

Existem muitas razões pelas quais isso pode acontecer. Provavelmente, o mais provável é que a gravação no Linux geralmente aconteça como um write-back (onde as páginas são armazenadas em buffer no cache da página e posteriormente liberadas para o disco), o que pode acontecer por um período de tempo indefinido após um write(), enquanto os contadores de E/S normalmente medem taxa de transferência imediata de gravação/leitura.

Outra é que esses contadores realmente só sabem o que o Linux pretende fazer (e dependendo do contador, isso exclui mesmo coisas como write-back e decisões do agendador de E/S), e não o seu disco. Muitos discos executam independentemente operações que não são vistas pelo sistema operacional. Um exemplo particularmente notável - não o seu caso, mas ainda assim - são os discos SMR, onde mesmo depois de o sistema operacional terminar de gravar os dados, o disco ainda funcionará após o fato para mover os dados para as telhas a partir de um armazenamento intermediário mais rápido.

Em geral, a medição de E/S na camada do sistema operacional tende a ser imprecisa, e os contadores usados ​​por lá htopnem são o que há de mais moderno. Para chegar mais perto, considere usar o cgroup v2's io.stat, que tem mais granularidade e visibilidade de relatórios.

informação relacionada