2017-04-11 14 views
0

대규모 UDP 네트워크 응용 프로그램을 작성하고 있습니다. 초당 10 기가비트의 트래픽을 실행 중입니다. 작업 관리자에서 "시스템 인터럽트"CPU 사용량이 매우 높습니다.고 대역폭 네트워킹 및 Windows "시스템 인터럽트"프로세스

이 무엇을 의미하는지에 대해 읽고, 나는 참조 :

무엇 "시스템 인터럽트"프로세스인가요?

시스템 인터럽트는 Windows의 공식적인 부분이며 은 작업 관리자에서 프로세스로 표시되지만 실제 의미는 의 프로세스가 아닙니다. 대신, 모든 하드웨어 인터럽트에 사용 된 시스템 리소스를 에 표시하는 데 사용되는 집계 자리 표시 자입니다. 이 PC에서 발생합니다.

그러나 대부분의 기사는 높은 값이 하드웨어 오류와 일치한다고 말합니다.

그러나 "시스템 인터럽트"항목은 높은 IRQ 사용량과 관련되어 있으므로 내 대규모 UDP 네트워크 사용을 고려할 때이 값이 높아야합니다.

또한이 모든 것이 실제로 하나의 CPU 코어에서 발생합니까? 또는 이것은 모든 CPU 코어에서 발생하는 모든 일의 집합입니다.

+0

하나의 CPU 코어에서 왜 그렇게 생각하십니까? – Luaan

답변

1

UDP를 통해 많은 개별 데이터 그램을 보내는 경우 확실히 많은 하드웨어 인터럽트와 많은 CPU 사용이 발생할 것입니다. 10Gb는 데이터 그램이 상대적으로 작 으면 확실히 "많은 CPU"범위 내에 있습니다.

각 CPU에는 자체 하드웨어 인터럽트가 있습니다. 성능 탭에서 부하가 코어를 통해 퍼져 나가는 모습을 볼 수 있습니다. 빨간 선은 하드웨어 인터럽트 및 OS의 다른 저수준 소켓 처리를 포함하는 커널 CPU 시간입니다.