/dev/ttyS1
UDP 소켓과 직렬 포트를 사용하여 uClinux에서 작동하는 C 프로그램을 작성했습니다. 정상적으로 프로그램을 시작하면 ./program
CPU 사용량이 24% 정도 됩니다. 그런데 프로그램을 실행하면 ./program >> /dev/null
CPU 사용량이 80%까지 뛴다!
많은 디버그 printf
정보가 쏟아져 나오고 있는데 어떻게 리디렉션으로 /dev/null
CPU 사용량이 4배로 늘어나나요?
답변1
이는 일반적으로 프로그램이 출력이 처리될 때까지 기다리는 데 많은 시간을 소비한다는 것을 나타냅니다. I/O 대기는 CPU 사용량과 별도로 계산됩니다. 출력을 로 리디렉션하면 /dev/null
이러한 상황을 제거할 수 있으며 프로그램 작업에 더 많은 시간을 사용할 수 있습니다.