重定向到 /dev/null 时,我的 C 程序 CPU 使用率达到 80%

重定向到 /dev/null 时,我的 C 程序 CPU 使用率达到 80%

/dev/ttyS1我编写了一个 C 程序,在 uClinux 上使用 UDP 套接字和串行端口进行操作。如果我正常启动程序,./programCPU 使用率在 24% 左右。但是,如果我启动该程序,./program >> /dev/nullCPU 使用率会跃升至 80%!

我有很多调试printf信息喷涌而出,重定向如何使/dev/nullCPU 使用率增加四倍?

答案1

这通常表明您的程序花费了大量时间等待处理其输出。等待 I/O 与 CPU 使用率分开计算。通过将其输出重定向到/dev/null,您可以消除这种情况,并且您的程序可以花费更多的时间来工作。

相关内容