/dev/nullにリダイレクトすると、CプログラムCPU使用率が80%に達します。

/dev/nullにリダイレクトすると、CプログラムCPU使用率が80%に達します。

/dev/ttyS1UDPソケットとシリアルポートを使用してuClinuxで動作するCプログラムを作成しました。正常にプログラムを開始すると、./programCPU使用量が24%程度になります。ところで、プログラムを実行すると./program >> /dev/nullCPU使用量が80%まで走った!

多くのデバッグprintf情報があふれていますが、どのようにリダイレクトで/dev/nullCPU使用量が4倍に増えますか?

答え1

これは通常、プログラムが出力が処理されるのを待つのに多くの時間を費やすことを示します。 I/O 待機は CPU 使用量とは別に計算されます。出力にリダイレクトすると、/dev/nullこのような状況を排除でき、プログラム操作に時間を費やすことができます。

関連情報