ioユーティリティが比較的高い場合、Linuxはハードディスクの読み取りと書き込みがEIOを返しますか?

ioユーティリティが比較的高い場合、Linuxはハードディスクの読み取りと書き込みがEIOを返しますか?

入出力の利用率が高いと、Linuxの読み書きハードディスクはEIOを返しますか?

答え1

高い機器の使用率は間違いではありません。各物理I / O要求に対してシステムコールが行われ、要求は個々のデバイスごとに別々のキューに追加されます。一部のメディアタイプでは、要求を並べ替えて使用を最適化できます。

キューの長さは、通常、キュー内の要求を持つプロセス/スレッドが予約されておらず(したがってシステムコールが終了しない)、他の要求を実行できないために制限されます。

一部のスローデバイス(ソケットなど)は、errno = EAGAIN(リソースを一時的に使用できない)を返すことがあります。これは通常、プロセスが信号を受信したときに発生します。

答え2

なぜこれが起こるのですか?

参考としてソースinclude/uapi/asm-generic/errno-base.h:

#define EIO      5  /* I/O error */

関連情報