저는 현재 Raspberry Pi 2에서 Kali Linux를 실행하고 있으며 이를 네트워크 모니터로 사용하고 있습니다. libpcap을 사용하여 자체 C 애플리케이션을 개발했는데 LAN에서 얻은 평균 대기 시간은 약 300마이크로초였지만 대기 시간 범위는 260~400이었습니다. 커널 모듈을 만들지 않고 대기 시간 범위를 최소화할 수 있는 방법이 있습니까?
답변1
일정 때문에 발생한 경우 다른 일정 전략으로 애플리케이션을 실행해 보세요(시간이 중요한 특별한 애플리케이션의 경우 "실시간" 전략이 지원됨).
sudo chrt prio ./your-app
내 시스템에서 prio는 1에서 99 사이의 숫자입니다. 권장되는 범위는 일반적인 애플리케이션 우선 순위 범위의 경우 2 - 49입니다. 예는 다음과 같습니다.
sudo chrt 49 ./your-app
- 충분하지 않은 경우 스케줄러에서 사용되지 않도록 코어를 격리해 볼 수 있습니다. 저지연 프로그래밍에 관한 기사에서 이에 대해 읽었지만 직접 해본 적은 없습니다. 어쨌든 메시지는 이렇습니다https://stackoverflow.com/questions/13583146/whole-one-core-dedicated-to-single-process,http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re46.html