/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이러한 상황을 제거할 수 있으며 프로그램 작업에 더 많은 시간을 사용할 수 있습니다.

관련 정보