入出力の利用率が高いと、Linuxの読み書きハードディスクはEIOを返しますか?
答え1
高い機器の使用率は間違いではありません。各物理I / O要求に対してシステムコールが行われ、要求は個々のデバイスごとに別々のキューに追加されます。一部のメディアタイプでは、要求を並べ替えて使用を最適化できます。
キューの長さは、通常、キュー内の要求を持つプロセス/スレッドが予約されておらず(したがってシステムコールが終了しない)、他の要求を実行できないために制限されます。
一部のスローデバイス(ソケットなど)は、errno = EAGAIN(リソースを一時的に使用できない)を返すことがあります。これは通常、プロセスが信号を受信したときに発生します。
答え2
なぜこれが起こるのですか?
参考としてソースinclude/uapi/asm-generic/errno-base.h
:
#define EIO 5 /* I/O error */